Java的面向對象編程中有一個非常重要的概念就是繼承。在繼承關系中,父類是一個被繼承的類,而子類則繼承了父類的特性,并且可以在此基礎上添加自己的功能。在子類中可以通過super關鍵字來調用父類的方法或屬性。下面讓我們來看一下一個簡單的例子:
public class Animal { protected String name; protected int age; public Animal(String name, int age) { this.name = name; this.age = age; } public void eat() { System.out.println(name + " is eating."); } }
以上是一個簡單的動物類,其中有兩個屬性:名稱和年齡,還有一個方法eat用來告訴我們當前動物正在進食。接下來,我們來創建一個叫做Dog的子類,并繼承Animal類:
public class Dog extends Animal { private String breed; public Dog(String name, int age, String breed) { super(name, age); this.breed = breed; } public void bark() { System.out.println(name + " is barking."); } }
以上是一個簡單的Dog子類,它繼承了Animal類,并且添加了自己的犬種屬性和方法bark用來告訴我們當前狗正在叫。在Dog構造函數中,我們通過super關鍵字調用了父類Animal的構造函數,并傳入相應的參數。這樣我們就可以在Dog中訪問到Animal中的屬性和方法了。接下來我們來運行一下程序:
public class Main { public static void main(String[] args) { Dog dog = new Dog("Tommy", 2, "Labrador"); dog.eat(); dog.bark(); } }
以上是我們的主函數,我們先創建一個Dog對象,并傳入相應的參數,然后通過對象dog來調用父類Animal中的eat方法和子類Dog中的bark方法。這樣我們就得到了以下輸出:
Tommy is eating. Tommy is barking.
可以看到,我們成功地輸出了一條狗正在進食和叫的信息,并體現了Java中的繼承機制。