1、继承机制
是面向对象程序设计使代码可以复用的重要手段,它允许程序员在保持原有类特性
的基础上进行扩展,增加新功能,这样产生的新类,称为派生类。
继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。
继承主要解决的问题:共性的抽取,实现代码的复用。
例如:猫和狗都是动物,我们可以抽取共性内容,然后采用继承的思想达到共用。
2、继承语法
修饰符 class 子类 extends 父类{
....
}
3、成员的访问
对面例子进行代码描述:
super关键字:只能在非静态子类方法中使用,访问父类的成员和方法。
比如:super.data-->访问父类的成员变量
super.func()-->访问父类的成员方法
super()-->访问父类的构造方法
4、子类构造方法
子类对象构造时,需要先调用父类构造方法,然后执行子类的构造方法
原因:子类对象由 父类继承下来的 和 子类新增加的部分 组成。
父子肯定是先有父再有子,所以在构造子类时,先要调用父类的构造方法-将从父类继承下
来成员构造完整,再调用子类自己的构造方法,将子类自己新增加的成员初始化完整。
默认情况下:
class Animal{
public Animal(){}
}
class Dog extends Animal{
public Dog(){
super();
}
}
注意:若父类显式定义无参或者默认的构造方法,在子类构造方法第一行默认有隐含的super()调用,即调用父类构造方法。
如果父类构造方法是带有参数的,此时需要用户为子类显式定义构造方法,并在子类构造方法中选择合适的父类构造方法(参数列表)调用ÿ