Java面向对象-4.继承、this、super
extends继承: 提高了代码的复用性 提高了代码的维护性 让类与类产生了关系,是多态的前提 弊端:类的耦合性增强了 开发的原则:高内聚(自己能做的自己做),低耦合 java中类的继承特点: 只支持单继承,不支持多继承(一个儿子只能有一个爹) 支持多层继承(父、子、孙) 如果想用这个体系的所有功能用最底层的类创建对象 如果想看这个体系的共性功能,看最顶层的类 继承注意事项: 子类只能继承父类所有非私有的成员变量和方法 子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法 不要为了部分功能而去继承 继承中成员变量的关系: 若父类与子类有相同的成员变量,则子类对象调用时就调用子类的成员变量(就近原则) 若父类与子类有相同的成员变量,则在成员变量前加上super就可以在子类对象调用时就调用父类的成员变量 若父类与子类有相同的成员变量,则在成员变量前加上this就可以在子类对象调用时就调用子类的成员变量 this和super的区别: this可以访问自己的成员变量,若本类没有这个成员变量,也可以访问父类的成员变量 super只能访问父类的成员变量 在每一个类中构造方法里面都会有一个默认的super()方法,子类调用构造方法时都会先调用父类的构造方法 子类中所有构造方法都会默认访问父类的空参的构造方法,若自己给出super(参数);则会访问父类有参的构造方法