super用來訪問父類內容,而this關鍵字用來訪問本類內容
super的用法:
1.在子類成員方法中,訪問父類的成員變量
2.在子類成員方法中,訪問父類的成員方法
3.在子類成員方法中,訪問父類的構造方法
/**
* @program: javase
* @description: 對於super的理解
* @Author: 小白白
* @create: 2019/12/08 - 20:31
**/
public class Super_Demo extends Fu{
int num = 20;
public Super_Demo(){
super(); //子類的構造器正在訪問父類的構造器
}
public void pri(){
System.out.println(super.num); //訪問父類中的num
}
public void method(){
super.method(); //訪問父類的method
System.out.println("父類的方法");
}
/**
* @program: javase
* @description: 父類
* @Author: 小白白
* @create: 2019/12/08 - 20:34
**/
public class Fu {
int num = 10;
public void method(){
System.out.println("父類的方法");
}
}
this關鍵字的理解
1.在本類成員方法中,訪問本類的成員變量
2.在本類成員方法中,訪問本類的另一個成員方法
3.在本類成員方法中,訪問本類的另一個構造方法
在第三種用法當中,this調用必須事構造方法的第一個語句
/**
* @program: javase
* @description: 對於this的理解
* @Author: 小白白
* @create: 2019/12/08 - 20:42
**/
public class This_Demo extends This_Fu{
int num = 20;
public This_Demo(){
this(10); //本類的無參構造調用本類的有參構造
}
public This_Demo(int n){
this(1,2);
}
public This_Demo(int x,int y){
}
public void Shwo(){
int num = 10;
System.out.println(num); //局部變量
System.out.println(this.num); //本類中的成員變量
System.out.println(super.num); //父類中的成員變量
}
public void methodA(){
System.out.println("AAA");
}
public void menthodB(){
methodA(); //
this.methodA();
System.out.println("BBB");
}
}