类间关系
1.1、this与super
继承关系图
当子类创建对象后,该子类对象本身可以使用this来指代,该对象当助的父类对象空间可以使用super指代。
public class Person {
private String name;
private int age;
public Person(){}
public Person(String name,int age) {
this.name = name;
this.age = age;
}
//getters和setters省略
}
class Chinese extends Person{
private Stirng address;
public Chinese(){}
//对address的get/set省略
}
class Test{
public static void main(String[]args){
Chinese c = new Chinese();
}
}
1.2 、this与super 调用普通成员与构造方法
- 调用普通成员
this.成员变量 可以访问本类对象的成员变量
super.成员变量 可以访问父类对象的成员变量
this.成员方法() 可以访问本类对象的成员方法
super.成员方法() 可以访问父类对象的成员方法 - 调用构造方法
this(其他参数) 可以访问本来其他的构造方法
super(其他参数) 可以访问父类其他的构造方法 - 默认子类调用父类的构造方法
子类的每个构造方法中均有默认的super(),调用父类的空参构造。手动调用父类构造会覆盖默认的super();