繼承是類別與類別之間的關係,是一個很簡單很直觀的概念,與現實世界中的繼承(例如兒子繼承父親財產)類似。
繼承可以理解為一個類別從另一個類別取得方法和屬性的過程。如果類別B繼承於類別A,那麼B就擁有A的方法和屬性。
繼承使用 extends 關鍵字。 (建議學習:java課程)
例如我們已經定義了一個類別People:
class People{ String name; int age; int height; void say(){ System.out.println("我的名字是 " + name + ",年龄是 " + age + ",身高是 " + height); } }
如果現在需要定義一個類別Teacher,它也有name、age、height 屬性和say() 方法,另外還需要增加school、seniority、subject 屬性和lecturing() 方法,該怎麼辦呢?我們要重新定義一個類別嗎?
完全沒必要,可以先繼承People 類別的成員,再增加自己的成員即可,例如:
class Teacher extends People{ String school; // 所在学校 String subject; // 学科 int seniority; // 教龄 // 覆盖 People 类中的 say() 方法 void say(){ System.out.println("我叫" + name + ",在" + school + "教" + subject + ",有" + seniority + "年教龄"); } void lecturing(){ System.out.println("我已经" + age + "岁了,依然站在讲台上讲课"); } }
對程式的說明
name 和age 變數雖然沒有在Teacher 中定義,但是已在People 中定義,可以直接拿來用。
Teacher 是 People 的子類,People 是Teacher 類別的父類別。
子類別可以覆寫父類別的方法。
子類別可以繼承父類別除private以為的所有的成員。
建構方法不能被繼承。
繼承是在維護和可靠性方面的一個偉大進步。如果在 People 類別中進行修改,那麼 Teacher 類別就會自動修改,而不需要程式設計師做任何工作,除了對它進行編譯。
單一繼承性:Java 允許一個類別只能繼承一個其它類,也就是一個類別只能有一個父類,這個限制被稱為做單繼承性。後面將會學到介面(interface)的概念,介面允許多繼承。
以上是java如何繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!