this与super
this代表本类的一个引用对象,在构造函数中,this()必须放在第一行。
super代表父类的一个引用对象,如果用,那么必须出现在调用位置的第一行。
public class Test3{
public static void main(String[] args) {
Sub s=new Sub();
s.testShow();//调用普通方法,
s.eat();//调用重写方法,子类已经重写了父类的方法,从此再用,就是儿子的实现方式
}
}
class Fu{
public void show(){
System.out.println("Fu...show()");
}
public void eat(){
System.out.println("爸爸吃肉");
}
}
class Sub extends Fu{
int age;
String name;
public void get(int age,String name){
this.age=age;//将 参数中age的值赋值给类中的age
this.name=name;//将参数中name的值赋值给类中的name。
}
//普通方法
public void testShow(){
super.eat();//调用父类的eat()
}
//重写方法
//方法签名完全一致的情况就是发生了重写
public void eat(){
System.out.println("儿子吃肉");
}
}
this与super的区别
- this代表本类对象的引用,super代表父类对象的引用。
- this用于区分局部变量和成员变量
- super用于区分本类变量和父类变量
- this.成员变量 this.成员方法() this(参数) 代表调用本类内容
- super.成员变量 super.成员方法() super(参数)代表父类内容。
- this和super不可以同时出现在同一个构造方法里,他们两个只要出现都得放在第一行。

浙公网安备 33010602011771号