super关键字的用法有三种:
1.在子类的成员方法中,访问父类的成员变量。
2.在子类的成员方法中,访问父类的成员方法。
3.在子类的构造方法中,访问父类的构造方法。
super关键字用来访问父类内容,而this关键字用来访问本类内容。用法也有三种:
1.在本类的成员方法中,访问本类的成员变量。
2.在本类的成员方法中,访问本类的另一个成员方法。
3.在本类的构造方法中,访问本类的另一个构造方法。
在第三种用法当中要注意:
A.this(...)调用也必须是构造方法的第一个语句,唯一一个。
B.super和this两种构造不能同时使用。
示例代码:
class Fu {
int num = 10;
public void method() {
System.out.println("父类方法!");
}
}
class Zi extends Fu {
int num = 20;
@Override
public void method() {
super.method();//调用了父类方法
System.out.println("子类方法!");
}
public void show (){
int num = 30;
System.out.println(num);//30
System.out.println(this.num);//20
System.out.println(super.num);//10
}
}
public class ThisAndSuper {
public static void main(String[] args) {
Zi zi = new Zi();
zi.show();
zi.method();//子类方法!
}
}