“这个”之间的差异和"超级" Java中的关键字
问题描述:
关键字此
和超级
之间有什么区别?
What is the difference between the keywords this
and super
?
两者都用于访问类的构造函数吗?您能否解释一下?
Both are used to access constructors of class right? Can any of you explain?
答
让我们考虑一下这种情况
Lets consider this situation
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。
The third line is printing "animal:eat" because we are calling super.eat()
. If we called this.eat()
, it would have printed as "dog:eat".