继承
继承中的成员变量的访问特点
①、直接通过子类对象访问成员变量。
等号左边是谁,就优先用谁,没有就向上找。
②、间接通过成员方法访问成员变量。
该方法属于谁,就优先用谁,没有就向上找。
区分子类方法中重名的三种变量
变量形式 | 使用形式 |
---|---|
局部变量 | 直接写变量名 |
本类的成员变量 | this.成员变量名 |
父类的成员变量 | super.成员变量名 |
在继承关系中成员方法的访问特点。
在父子类的继承关系中,创建子类对象,访问成员方法的规则:创建的对象是谁就优先用谁,如果没有就向上找。
注意事项:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类。要有先有父类后有子类的思想。
方法重写的注意事项
1、必须保证父子类之间重写的方法的名称相同,参数列表也相同。
2、子类返回值必须小于或等于父类方法的返回值范围。
3、子类方法权限必须大于或等于父类方法的权限修饰符。
public>protected>(default)>private。
继承中构造方法的访问特点
1、子类构造方法当中有一个默认隐含的"super()"调用,所以一定是先调用的父类构造,后执行的子类构造。
2、子类构造可以通过super关键字来调用父类重载构造。
3、super的父类构造调用,必须是子类构造方法的第一个语句,不能调用多次super构造。
子类必须调用父类的构造方法,不写就赠送super(),写了则用指定的super调用。