关键字this
和super
有什么区别?
两者都用来访问类的构造函数吧?你们任何人都可以解释吗?
最佳答案
让我们考虑这种情况
class Animal {
void eat() {
System.out.println("animal : eat");
}
}
class Dog extends Animal {
void eat() {
System.out.println("dog : eat");
}
void anotherEat() {
super.eat();
}
}
public class Test {
public static void main(String[] args) {
Animal a = new Animal();
a.eat();
Dog d = new Dog();
d.eat();
d.anotherEat();
}
}
输出将是
animal : eat
dog : eat
animal : eat
第三行正在打印“animal:eat”,因为我们正在调用
super.eat()
。如果我们调用this.eat()
,它将被打印为“dog:eat”。关于java - Java中 “this”和“super”关键字之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4023344/