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的区别

  1. this代表本类对象的引用,super代表父类对象的引用。
  2. this用于区分局部变量和成员变量
  3. super用于区分本类变量和父类变量
  4. this.成员变量  this.成员方法() this(参数) 代表调用本类内容
  5. super.成员变量 super.成员方法() super(参数)代表父类内容。
  6. this和super不可以同时出现在同一个构造方法里,他们两个只要出现都得放在第一行。
posted @ 2020-05-03 07:45  冰-焰  阅读(169)  评论(0)    收藏  举报