关于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代替的是当前执行方法时的对象的父类对象
浙公网安备 33010602011771号