目录
一、为什么要有继承?
- 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
二、继承性的好处
① 减少了代码的冗余,提高了代码的复用性
② 便于功能的扩展
③ 为之后多态性的使用,提供了前提
三、继承性的格式: class A extends B{}
A:子类、派生类、subclass
B:父类、超类、基类、superclass
- 体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法.
- 特别的:父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构,只有因为封装性的影响,使得子类不能直接调用父类的结构而已.
- 子类继承父类以后,还可以声明自己特有的属性或方法,实现功能的扩展.子类和父类的关系,不同于子集和集合的关系.
四、Java中关于继承性的规定
- 一个类可以被多个子类继承
- Java中类的单继承性:一个类只能有一个父类
-
class SubDemo extends Demo{ } //ok
-
class SubDemo extends Demo1,Demo2... //error
- 子类直接继承的父类,称为:直接父类,间接继承的父类称为:间接父类
- 子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法
注意:
- 如果我们没用显式的声明一个类的父类的话,则此类继承于java.lang.Object类
- 所有的java类(除java.lang.Object类除外)都直接或间接的继承于java.lang.Object类
- 意味着,所有的java类具有java.lang.Object类声明的功能