一、为什么要有继承?
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中, 那么多个类无需再定义这些属性和行为,只要继承那个类即可。
二、继承性的好处:
① 减少了代码的冗余,提高了代码的复用性
② 便于功能的扩展
③ 为之后多态性的使用,提供了前提
三、继承性的格式:class A extends B{}
A:子类、派生类、subclass
B:父类、超类、基类、superclass
- 子类继承了父类,就继承了父类的方法和属性。
- 在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。
关于继承的规则:
- 子类不能直接访问父类中私有的(private)的成员变量和方法。
- 子类继承父类以后,还可以声明直接特有的属性和方法,实现功能的扩展.
- 子类和父类的关系,子类比父类功能更强大
- 特别的,父类中声明的private的属性或方法,子类继承父类以后,仍然认为获取父类中私有的结构,只是因为封装性的影响,使得子类不能直接调用父类的结构而已.
- 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类声明的功能。