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");
}
}