一、概念:
什么是继承,Java中的继承与生活中的继承还是有区别的,在程序中继承以后,你的父类和你的子类同样的也具有某一成员变量和某些方法,谁继承了父类谁就是这个父类的子类,他们之间也就存在中某种连带关系。
1.1生活中的继承:
兔子和羊属于食草动物类,狮子和豹属于食肉动物类。
食草动物和食肉动物又是属于动物类。
所以继承需要符合的关系是:is-a,父类更通用,子类更具体。
虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。
1.2类的继承格式
在Java当中会通过extends
关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:
需要注意一点:Java 不支持多继承,但支持多重继承(后面一章节会讲)。就如下:
二、优点:
我们在编程的时候常常遇到大量的代码需要重复的情况,导致我们的代码比较臃肿,开发效率也大大降低,所以Java继承的作用就体现出来了。定义一个类做为父类,将一些共有的属性和方法定义在这个类中,当某一个类需要使用到这些方法和属性的时候,就可以直接通过extends关键字就可以直接调用父类中的成员变量和方法,方便快捷。
接下来我们通过实例来说明这个需求。
开发people类,其中人分别为男人和女人,要求如下:
- 男人:属性(姓名,id),方法(吃,睡,自我介绍)
- 女人:属性(姓名,id),方法(吃,睡,自我介绍)
从这两段代码可以看出来,代码存在重复了,导致后果就是代码量大且臃肿,而且维护性不高(维护性主要是后期需要修改的时候,就需要修改很多的代码,容易出错),所以要从根本上解决这两段代码的问题,就需要继承,将两段代码中相同的部分提取出来组成 一个父类:
这个people类就可以作为一个父类,然后boy类和girl类继承这个类之后,就具有父类当中的属性和方法,子类就不会存在重复的代码,维护性也提高,代码也更加简洁,提高代码的复用性(复用性主要是可以多次使用,不用再多次写同样的代码) 继承之后的代码:
注:感兴趣的可以自己去网上找资料深入了解,我这里就是一个简单的认识一部分小小的知识,并不全面