導航:首頁 > 編程語言 > java的繼承結構

java的繼承結構

發布時間:2023-09-08 12:17:05

A. java中什麼是繼承

繼承在本職上是特殊一般的關系,即常說的is-a關系。子類繼承父類,表明子類是一種特殊的父類,並且具有父類所不具有的 一些屬性或方法。

1.Java繼承的語法格式:

Java繼承的關鍵字是:extends

public class 子類名 extends 父類名{...}

如: public class UNStudent extends Student {...} 註:1.子類又稱超類,拓展類 ;父類又稱基類。

2.Java中類的繼承只能是單繼承(單根繼承),即一個類只能繼承一個父類,但是一個類可以由多個類來繼承它。

3.Java會給每一個沒有設置父類的類,自動添加一個父類就是Object 。

(1)java的繼承結構擴展閱讀:

一、子類繼承父類的結果

1.子類繼承父類後,繼承到了父類所有的屬性和方法。註:是所有。

2.子類可調用的方法也要看情況而定:

子類和父類在同一個包下時 「子類和子類的對象」可以調用父類的默認的,受保護的,公有的屬性以及方法。

子類和父類在不同的包下時,在子類中可以調用受保護的,公有的屬性以及方法,而子類的對象可以調用受保護的,公有的屬性以及方法。

二、方法的重寫

1.當子類和父類都有某種方法,而子類的方法更加要求細致,或者實現功能不同,就需要方法的重寫。

2.重寫條件

①必須要存在繼承關系;只有繼承之間的關系才能有方法的重寫

②方法的返回值類型,方法名,參數個數,參數類型,參數順序,必須要完全一致;

如:父類中方法 public void play (int n ; String s){方法體1...}

重寫後的子類方法public void play(int n ; String s){方法體2...}

3.子類重寫方法時的訪問修飾符可以大於或者等於父類方法的訪問修飾符。

4.重寫後的方法會被優先調用。

三、自動轉型

自動轉型的實現要求有繼承關系

格式如下:父類名 對象名 = new 子類構造方法;

如:Student stu = new UNStudent;

而強制轉型格式如下:子類名 對象名 = (子類名)父類對象名

如:UNStudent un = (Student)stu;

自動轉型可以拓寬方法的作用訪問域

在使用自動轉型後,子類自己定義的方法是不能在自動轉型後執行;

原因是因為Java的編譯機制,它會優先判斷父類中是否存在該方法,如果存在則通過編譯,如果不存在則報錯。

第二種自動轉型:轉型後只需要不同類的不同對象調用想吐的方法,很方便!

/**訪問修飾符 返回值數據類型 方法名(父類類型 參數名,...){

調用方法。

}

父類名 對象名 = new 子類名;

子類名 對象名 = new 子類名;

方法名(對象名);

*/

比如拿到駕駛證為A2的人,可以駕駛重型貨車,當然也可以駕駛大型貨車,中型貨車,小型貨車,小客車,小轎車,摩托車... 可以選擇第二種自動轉型的方法,便於調用同一個方法。

自動轉型好處:1.減少冗餘代碼;2.在方法設置參數時,擴大訪問范圍。

四、多態

多態是由方法重載,繼承,方法重寫,自動轉型等技術的組合。

五、為什麼需要繼承?

1.提高代碼的重用性。

2.提高程序的擴展性。

JAVA繼承總結

B. java中的繼承是什麼

Java繼承是面向對象的最顯著的一個特徵。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數據屬性和行為,並能擴展新的能力。[1]
Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術使得復用以前的代碼非常容易,能夠大大縮短開發周期,降低開發費用。比如可以分隔符先定義一個類叫車,車有以下屬性:車體大小,顏色,方向盤,輪胎,而又由車這個類派生出轎車和卡車兩個類,為轎車添加一個小後備箱,而為卡車添加一個大貨箱。
類和類之間的繼承關系可以用UML符號表示,其中父類又叫超類或基類,子類又叫派生類。父類是子類的一般化,子類是父類的特化(具體化)。
JAVA不支持多繼承,單繼承使JAVA的繼承關系很簡單,一個類只能有一個父類,易於管理程序,同時一個類可以實現多個介面,從而克服單繼承的缺點。
在面向對象程序設計中運用繼承原則,就是在每個由一般類和特殊類形成的一般——特殊結構中,把一般類的對象實例和所有特殊類的對象實例都共同具有的屬性和操作一次性地在一般類中進行顯式的定義,在特殊類中不再重復地定義一般類中已經定義的東西,但是在語義上,特殊類卻自動地、隱含地擁有它的一般類(以及所有更上層的一般類)中定義的屬性和操作。特殊類的對象擁有其一般類的全部或部分屬性與方法,稱作特殊類對一般類的繼承。
繼承所表達的就是一種對象類之間的相交關系,它使得某類對象可以繼承另外一類對象的數據成員和成員方法。若類B繼承類A,則屬於B的對象便具有類A的全部或部分性質(數據屬性)和功能(操作),我們稱被繼承的類A為基類、父類或超類,而稱繼承類B為A的派生類或子類。
繼承避免了對一般類和特殊類之間共同特徵進行的重復描述。同時,通過繼承可以清晰地表達每一項共同特徵所適應的概念范圍——在一般類中定義的屬性和操作適應於這個類本身以及它以下的每一層特殊類的全部對象。運用繼承原則使得系統模型比較簡練也比較清晰。

C. java開發的項目中模塊、包、類、介面的關系是什麼

讓我談談流程為導向,面向對象,這是兩個思想流派,他們是能夠實現的能力,使用該程序來完成一件事。
唯一的思維方式是不一樣的。

面向過程的一件事,一個項目分解成一個函數的小功能。
面向對象的事情,作為一個小對象或這些對象之間的相互關系組成的一個小部分組成,構成了整個項目。

一切是一個面向對象的思想的對象,我,你,他也是。
「類」是一個抽象的對象,或進行了總結。例如,你可以為人類總結。
整體而言,類是抽象的虛擬對象是有生命的東西。
是一個類,我你他是對象。

一般的面向對象編程方法,設計一個類,然後創建一個這個類的對象。
經過這個對象的相關業務。
點:操作的對象,對象不要緊經營。

這里談談如何設計一個類,
類有一些封裝的性質和功能。

面向過程的思想,程序通常是一個函數,這些函數的相互調用。
形成一個完整的方案來解決問題。其基本結構是:

函數()
{
......;
}

函數的兩()
{
......;
}

......

主要功能()
{
......;
}



然而,在面向對象的思想是包在一起,形成一個類。


{
?函數A()
?{
?......;
?}

功能二()
?{
?......;
?}

?......
}



產生一個對象,那麼這個類:從類的類名學生
方法是生成對象:學生S1;
在這里,s1是一個對象,它生產的對象可以是相關的操作。
操作方法,如:S1是函數();
等等。在這篇文章中的具體細節就不說了只說想。

這是普通的一點是,在具體實施過程中的類,然後生成一個對象,該對象來調用相關的操作。
如果在面向過程的功能封裝成類,然後對象的操作。

A類包,它通常作為一個模塊,其他類型的呼叫需要的時候。
類是一個抽象的,抽象的東西一些共同的特點,總結提出的公共部分的包一起。
包,已經上面說的,裝在一個容器內的一些性質和功能。
在這里,我用一個游戲來解釋:

假設我們想成為游戲內打怪的游戲類似,簡單,怪不要打,只有玩的人。
他的血液不斷減少,直至死亡。

所有的怪物在抽象的共同特點,所以我們得到了一個類:怪物
級怪物
{
??炭怪物名稱;
?血液;

?怪物(怪物N,血列印)/ *構造函數* /
?{
怪物的名字嗎?=怪物名稱n;
?血=血N;
?}

毒打功能(?)
?{
?血液減少;
?}

?判斷功能()
?{
?(血== 0)
?輸出(「你贏了!」);
?}

?玩游戲()
?{
?(血> 0)
?{
?毒打函數();
??判斷函數();
?}
?}
}


在這樣一個怪物類屬性的定義:怪物名稱,血液和功能:結構毆打,確定
根據這種情況,可以產生一個對象。

一個類可以有任意數量的對象,區分這些對象,取決於構造函數。

讓我們繼續寫我們的計劃
主要的主要功能
無效的主要()
{
/ ******對象產生****** /?
?怪物怪物(「狼來了」,5000);
?怪物怪物(「老虎」,8000);
怪物怪物(「蛇」,3000);

開始我們的游戲?/ **為了幾個對象** /
?怪物玩游戲();
?怪物玩游戲();
?怪物玩游戲();
}


然後主要的功能,我們已經建立了三個對象,它們共享一個類。
可以看到,類相當於一個組件,模塊,我們需要建立它的對象,將是能夠實現他的功率封裝
可以。
這是面向對象的優點,可重復使用,不必每一個用於重寫。

盡管如此,感覺,還是沒有說明白,真的有點只能意味著說不出的感覺。
事實上,如果這本書,真正認真寫了一些東西,他們可以理解,感到無形的。

閱讀全文

與java的繼承結構相關的資料

熱點內容
伺服器預留地址獲取 瀏覽:1002
雲庫文件夾怎麼設置 瀏覽:293
文件夾目錄製作自動跳轉 瀏覽:452
在哪個音樂app能聽exo的歌 瀏覽:847
pdf超級加密 瀏覽:47
蘋果手機app安裝包怎麼解壓並安裝 瀏覽:905
中原30系統源碼 瀏覽:184
程序員如何遵紀守法 瀏覽:499
java的webxml配置 瀏覽:962
如何封包遠程注入伺服器 瀏覽:864
監測機構資金動向源碼 瀏覽:967
android狀態欄字體50 瀏覽:767
python如何判斷文件後綴 瀏覽:126
龍空app哪裡下 瀏覽:348
阿里雲伺服器搭建網盤 瀏覽:690
京東軟體程序員 瀏覽:806
php游戲伺服器框架 瀏覽:391
導航開發演算法 瀏覽:431
為什麼30歲還想轉行程序員 瀏覽:380
推薦演算法的使用 瀏覽:40