关键字this和之间有什么区别super?
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”。
super.eat()
this.eat()