Java是一門面向對象的編程語言,其中有兩個關鍵字super和this,它們分別用于調用父類的構造方法或成員變量和調用自身的構造方法或成員變量。
public class Animal { String name; int age; public Animal(String name, int age) { this.name = name; this.age = age; } public void eat() { System.out.println("Animal is eating."); } } public class Dog extends Animal { String breed; public Dog(String name, int age, String breed) { super(name, age); this.breed = breed; } public void bark() { System.out.println("Dog is barking."); } public void play() { System.out.println("Dog is playing."); super.eat(); } }
在上面的例子中,Animal類中有兩個成員變量name和age,以及一個eat()方法。Dog類繼承了Animal類,增加了一個成員變量breed,以及兩個方法bark()和play()。在Dog類的構造方法中,使用super關鍵字調用了父類的構造方法,即Animal類的構造方法,初始化了name和age成員變量。在play()方法中,使用super關鍵字調用了父類的eat()方法,表示Dog在玩耍的時候也在吃飯。
另外,在Animal類的構造方法中,使用了this關鍵字來指代類本身的實例,以區分傳入的name和age參數和類本身的成員變量名字一致的情況。