蔡香满屋
站在牛顿头上吃苹果

关于this和super的使用:

  this和super都是指代词,代替的是对象

  this代替的是当前执行方法时的那个对象,不一定是当前类的

例如:有个Animal.java

public class Animal {
  public void eat() {
       System.out.println("动物的吃饭方法);    
  }          

   public void sleep() {
this.eat(): // 注意:this代替的是当前执行方法时的那个对象,就是谁调用了该方法,this就是代表该对象,不一定是当前类的,因为当前是p.sleep()也就是Person这个对象调用的
          sleep方法,于是this.eat()就会调用的是Person中重写父类的eat()方法 System.out.println("动物在睡觉); } }

  有个Person类继承Animal

public class Person extends Animal {
           public Person() {
        System.out.println("person中的无参数构造方法");
}

public void eat() {
       System.out.println("人的吃饭方法);    
  }  
}

  写个主方法如下:

public class Test {
    public static void main(String[] args) {
          Person p = new Person();
          p.sleep();  
}
}

  输出结果是:

人的吃饭方法

动物在睡觉

  super代替的是当前执行方法时的对象的父类对象

posted on 2019-07-07 23:32  蔡香满屋  阅读(115)  评论(0)    收藏  举报