java類的繼承-----繼承的定義



  繼承(inheritance)是面向對象編程的核心機制之一,沒有使用繼承的程序設計,就不能成為面向對象的程序設計。


1.繼承的定義

  特殊類的對象擁有一般類的全部屬性與行為,稱為特殊類對一般類的繼承。一個類可以是多個一般類的特殊類,也可以從多個一般類中繼承屬性與行為,但在java語言中,不允許一個類從多個一般類中繼承屬性與行為,即在java語言中,只支持單繼承。

  在軟件開發中,通過繼承機制,可以利用已有的數據類型來定義新的數據類型。所定義的新的數據類型不僅擁有新定義的成員,而且還同時擁有舊的成員。因此,類的繼承性使所建立的軟件具有開放性開放性、可擴充性,這是信息組織與分類的行之有效的方法,通過類的繼承關系,使公共的特性能夠共享,簡化了對象、類的創建工作量,增加了代碼的可重用性。

  java 中繼承使用關鍵字extends ,語法如下:

[類修飾符] class 子類名 extends 父類名{
	語句;
}

  在java中,java.lang.Object 類是所有java類的最高層父類,是唯一一個沒有父類的類。如果在類的聲明中未使用extends 關鍵字指明其父類,則默認父類為Object 類。java中的類的繼承關系形成了以Object 類為樹根的樹狀層次結構。例:

public class text{
	......;
}

  等價於

public class text extends Object{
	......;
}

  示例:

//Person
public class Person{
	String name;
	int age;
	void eat(String s){
		System.out.println(s);
	}
	void sleep(String s){
		System.out.println(s);
	}
}

//Teacher
public class Teacher extends Person{
	int salary;
	String school;
	void teach(String s){
		System.out.println(s);
	}
	public static void main(String[] args){
		Teacher t = new Teacher();
		t.name = "張三";					//實例化Teacher 類對象t
		System.out.println("教師"+t.name);  
		t.eat("吃");						//使用從父類繼承來的成員方法eat()
		t.sleep("睡");						//使用從父類繼承來的成員方法sleep()
		t.teach("上課");					//使用在Teacher類中定義的teach()方法
	}
}

  注:成員變量和成員方法可以被繼承,但是構造方法不能被繼承。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM