Java中的super是一個(gè)關(guān)鍵字,可以用來調(diào)用父類的字段、方法或構(gòu)造方法。
public class Animal { int age; String name; public Animal(int age, String name) { this.age = age; this.name = name; } } public class Dog extends Animal { int weight; public Dog(int age, String name, int weight) { super(age, name); this.weight = weight; } public void printInfo() { System.out.println("Name: " + super.name + ", Age: " + super.age + ", Weight: " + this.weight); } }
在上面的代碼中,super(age, name)調(diào)用了父類Animal的構(gòu)造方法,從而初始化了age和name字段。在子類Dog的printInfo方法中,使用了super關(guān)鍵字來訪問父類的name和age字段。
另外,super關(guān)鍵字還可以用來調(diào)用父類的方法。
public class Animal { void eat() { System.out.println("The animal is eating."); } } public class Dog extends Animal { void eat() { super.eat(); System.out.println("The dog is eating."); } }
在上面的代碼中,子類Dog的eat方法中使用super.eat()調(diào)用了父類Animal的eat方法,從而保證了在繼承中父類和子類的eat方法都被調(diào)用。
上一篇vue攝影作品欣賞