點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第六章匯總
6.2 類繼承
概括地講,從一個基類派生出一個新類的過程是補充類定義的過程。說明的附加成員使得派生類有別于基類。在新類中聲明的所有成員是除已經(jīng)在基類中定義的成員以外的那些成員。在由Dvg派生的Spaniel類中,保存名字和品種的數(shù)據(jù)成員定義在Dag類中,它們也將自動地成為Spaniel類的成員。一個Spaniel對象內(nèi)部將總擁有一個完整的Dog對象,包括所有的數(shù)據(jù)成員和方法。這并不意味著在Dog類中定義的所有成員對于Spaniel類中的特有方法都可用,有一些可以用,而有一些則不可用。在派生類中包含可以在派生類中訪問的基類成員,我們把它稱之為類的繼承(class inheritance).基類的被繼承成員(inherited member)在派生類內(nèi)是可被訪問的那一部分,如果基類中的成員在派生類中不可訪問,則它就不是派生類的被繼承成員,但是不是被繼承成員的基類成員仍然作為派生類對象的一部分。
派生類的被繼承成員是那個類的一個完整成員,并且它可以被類中的任何方法自由地訪問。派生類對象將包含基類的所有被繼承成員(包括字段和方法〕,以及派生類所特有的成員。注意,一個派生類對象總是在其內(nèi)部包含一個完整的基類對象,所有沒有被繼承的字段和方法也包括在內(nèi)。我們需要進一步分析繼承是如何操作的,以及一個基類成員的訪問屬性是如何影響它在派生類中的可見性的。
我們需要考慮幾個定義和使用派生類方面的問題。第一,我們需要知道基類的哪些成員被繼承到派生類中。我們將看到對于數(shù)據(jù)成員和方法分別意味著什么,在這里我們應(yīng)該清楚它們之間的細微差別。我們還會看到在你建立一個派生類對象時會發(fā)生的事情。關(guān)于這一點,還有一些問題需要再周密考慮一下。讓我們從由基類繼承的數(shù)據(jù)成員開始介紹。
繼承數(shù)據(jù)成員
在下面這個示意圖中顯示了在子類中被繼承的類成員允許有哪些訪問屬性。它說明了在同一個包中定義子類或者在包含基類的不同包中定義子類所發(fā)生的情況口請記住,繼承暗示著成員在派生類中可訪問,而不僅僅限于眼前定義的類。
注意,要在包含基類的包的外部派生一個類,這個基類就必須聲明為public,如果沒有聲明為public,這個類就不能直接地擴展到包的外部。
相關(guān)推薦:
2015計算機等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |