java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。
单继承:一个类只能有一个父类。
多继承:一个类可以有多个父类。
为什么不支持多继承呢?
因为当一个类同时继承两个父类时,两个父类中有相同的功能,那么子类对象调用该功能时,运行哪一个呢?因为父类中的方法中存在方法体。
但是java支持多重继承。A继承B B继承C C继承D。
多重继承的出现,就有了继承体系。体系中的顶层父类是通过不断向上抽取而来的。它里面定义的该体系最基本最共性内容的功能。
所以,一个体系要想被使用,直接查阅该系统中的父类的功能即可知道该体系的基本用法。那么想要使用一个体系时,需要建立对象。建议建立最子类对象,因为最子类不仅可以使用父类中的功能。还可以使用子类特有的一些功能。
简单说:对于一个继承体系的使用,查阅顶层父类中的内容,创建最底层子类的对象。
子父类出现后,类中的成员都有了哪些特点:
1:成员变量。
当子父类中出现一样的属性时,子类类型的对象,调用该属性,值是子类的属性值。
如果想要调用父类中的属性值,需要使用一个关键字:super
This:代表是本类类型的对象引用。
Super:代表是子类所属的父类中的内存空间引用。
注意:子父类中通常是不会出现同名成员变量的,因为父类中只要定义了,子类就不用在定义了,直接继承过来用就可以了。
一个父类可以有多个子类,比如你的爸爸可以有多个孩子,但是【你只能有一个爸爸】
也就是说,【一个子类,只能属于一个父类】!不能有多个"父亲",而【在C++中这是可以的】!
而接口定义了一类方法,用来在不同的类别中去实现共同的方法.
比如说在某个接口中定义了一个方法叫 void getUp() //起床
那么现在有一个类叫person类(人类当然可以使用起床这个方法了)
现在又有一个类叫bird类(鸟类也有睡觉,和起床这种方法)
但是你能让鸟类去继承人类吗???? 答案补充 正确! 单继承,有个"单"字 , 这么记就好了,单就说明继承某个父类的时候,只能继承一(单)个
一个父类当然可以有多个子类,你理解错了。
java所说的单继承指的是:一个类只能有一个直接的父类,类似 class A extends B,C的语法是不行的
但是接口可以实现多个
Class A implements B,C(B,C都是接口)
Class Animal{}
Class Cat extends Animal{}
Class Dog extens Animal{} Cat 和Dog都是Animal的子类