通过 extends 关键字让类与类之间产生继承关系。
1. 成员变量
this和super的用法很相似。
this代表本类对象的引用。
super代表父类的内存空间的标识。
当本类的成员和局部变量同名用this区分。
当子父类中的成员变量同名用super区分父类。
2. 成员函数
当子父类中出现成员函数一模一样的情况,会运行子类的函数。
这种现象,称为覆盖操作,这是函数在子父类中的特性。
在子类覆盖方法中,继续使用被覆盖的方法可以通过super.函数名获取。
函数两个特性:
1. 重载,同一个类中。
2. 覆盖,子类中,覆盖也称为重写,覆写,override。
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。多个类可以称为子类,单独这个类称为父类或者超类。
继承的特点:
Java只支持单继承,不支持多继承。
一个类只能有一个父类,不可以有多个父类。
在子父类中,成员的特点体现:
1. 成员变量
this和super的用法很相似。
this代表本类对象的引用。
super代表父类的内存空间的标识。
当本类的成员和局部变量同名用this区分。
当子父类中的成员变量同名用super区分父类。
当子父类中出现成员函数一模一样的情况,会运行子类的函数。
这种现象,称为覆盖操作,这是函数在子父类中的特性。
在子类覆盖方法中,继续使用被覆盖的方法可以通过super.函数名获取。
函数两个特性:
1. 重载,同一个类中。
2. 覆盖,子类中,覆盖也称为重写,覆写,override。
3. 构造函数
子父类中构造函数的特点:
在子类构造函数执行时,发现父类构造函数也运行了。
子类中所有的构造函数默认都会访问父类中空参数的构造函数。
因为每一个构造函数的第一行都有一条默认的语句super();。