導航:首頁 > 編程語言 > java關於繼承

java關於繼承

發布時間:2022-06-18 17:40:12

Ⅰ 一個有關繼承的java問題(100分奉上)

繼承是所有OOP語言不可缺少的部分,在java中使用extends關鍵字來表示繼承關系。當創建一個類時,總是在繼承,如果沒有明確指出要繼承的類,就總是隱式地從根類Object進行繼承。
1.子類繼承父類的成員變數
當子類繼承了某個類之後,便可以使用父類中的成員變數,但是並不是完全繼承父類的所有成員變數。具體的原則如下:
1)能夠繼承父類的public和protected成員變數;不能夠繼承父類的private成員變數;
2)對於父類的包訪問許可權成員變數,如果子類和父類在同一個包下,則子類能夠繼承;否則,子類不能夠繼承;
3)對於子類可以繼承的父類成員變數,如果在子類中出現了同名稱的成員變數,則會發生隱藏現象,即子類的成員變數會屏蔽掉父類的同名成員變數。如果要在子類中訪問父類中同名成員變數,需要使用super關鍵字來進行引用。
2.子類繼承父類的方法
同樣地,子類也並不是完全繼承父類的所有方法。
1)能夠繼承父類的public和protected成員方法;不能夠繼承父類的private成員方法;
2)對於父類的包訪問許可權成員方法,如果子類和父類在同一個包下,則子類能夠繼承;否則,子類不能夠繼承;
3)對於子類可以繼承的父類成員方法,如果在子類中出現了同名稱的成員方法,則稱為覆蓋,即子類的成員方法會覆蓋掉父類的同名成員方法。如果要在子類中訪問父類中同名成員方法,需要使用super關鍵字來進行引用。
注意:隱藏和覆蓋是不同的。隱藏是針對成員變數和靜態方法的,而覆蓋是針對普通方法的。(後面會講到)
3.構造器
子類是不能夠繼承父類的構造器,但是要注意的是,如果父類的構造器都是帶有參數的,則必須在子類的構造器中顯示地通過super關鍵字調用父類的構造器並配以適當的參數列表。如果父類有無參構造器,則在子類的構造器中用super關鍵字調用父類構造器不是必須的,如果沒有使用super關鍵字,系統會自動調用父類的無參構造器。
4.super
super主要有兩種用法:
1)super.成員變數/super.成員方法;
2)super(parameter1,parameter2....)
第一種用法主要用來在子類中調用父類的同名成員變數或者方法;第二種主要用在子類的構造器中顯示地調用父類的構造器,要注意的是,如果是用在子類構造器中,則必須是子類構造器的第一個語句。

Ⅱ java程序員請進~關於繼承~

首先 程序的入口在 public static void main() 然後逐一往下執行
當new Xiangjia()的時候 去找到 Xiangjia 這個類(class) 這時候 看到了 extends 它繼承了 Chengji 這個類 然後我們馬上去看class Chengji 這時候我們看到了一個方法 float f(float x,float y)
對不? 根據繼承的性質 我們就知道Xiangjia 這個類也有了f 這個方法 但是Xiangjia重寫了f方法 所以當我們用Xiangjia這個類來調用f方法時 就是x+y了 不是x*y
Xiangjia里還有一個方法c c方法里用了super這個詞 super就是父類的意思 調用了Chengji里的f方法 所以調用Xiangjia里的c方法時需要注意
然後繼續往下執行代碼 float c = sum.f(4,6); c就儲存了一個值(4+6) 繼續執行代碼列印c=10 然後列印 第二句列印的時候我們要注意了 是Xiangjia 里的c方法 c方法又調用了父類的f方法 返回值是(x*y) 所以列印5*4 = 20

我的口水話有點多哈 主要是為了你能看懂 ~。~

Ⅲ 關於Java 的繼承問題,子類會繼承父類的哪些東西

父類和子類的問題:
確認父類的方法是否使用了private修飾
並非所有的父類方法都可以被子類繼承的。
其次確認子類繼承父類時,是否有import
父類
【無法找到繼承的對象】感覺像是沒有import
編譯的時候,查找的是class文件。所以父類只有class是可以的。但是需要放在同一個工程中
你說的第二個問題?好像是實現不了。父類調用子類的方法是掉不到的
想實現這個就得依靠介面了

Ⅳ 關於java繼承問題

沒有分號是不對,但是在這里即使有分號也是錯的。Line是一個普通類,既然它繼承了圖形這個抽象類,那麼它必須實現所有父類中的抽象方法,也就是Line中的所有方法必須有函數體。
因此我覺得書中這里只是類似偽代碼一樣的東西,簡略地說明了一下這個Line類裡面有些什麼方法,不然全部寫出來它也占篇幅。
另外樓上說「繼承是繼承父類的全部屬性和方法的,但是只能訪問pubic屬性」不對,除了public屬性之外,父類的protected修飾的屬性子類也可以訪問。

Ⅳ JAVA中什麼是繼承

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

1.Java繼承的語法格式:

Java繼承的關鍵字是:extends

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

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

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

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

(5)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繼承總結

Ⅵ Java類的繼承

一個類不能直接繼承多個類,java是單繼承語言。比如說這樣:class A extends B,C 不能這樣寫,因為java不支持多繼承。但是可以像下面這樣實現繼承多個類:class A extends B,class C extends A,這樣C就同時繼承了B和A兩個類了。

Ⅶ java繼承問題

和C++類似,可以繼承基類的公共屬性和方法。
在Java繼承里,父類的屬性還有方法在聲明時,如果是public關鍵字即公共屬性,則在子類繼承時,這些屬性和方法都會被子類繼承。受保護的也可以繼承
但是私有的類屬性成員和方法則無法繼承。
.子類繼承父類的成員變數
當子類繼承了某個類之後,便可以使用父類中的成員變數,但是並不是完全繼承父類的所有成員變數。具體的原則如下:
1)能夠繼承父類的public和protected成員變數;不能夠繼承父類的private成員變數;
2)對於父類的包訪問許可權成員變數,如果子類和父類在同一個包下,則子類能夠繼承;否則,子類不能夠繼承;
3)對於子類可以繼承的父類成員變數,如果在子類中出現了同名稱的成員變數,則會發生隱藏現象,即子類的成員變數會屏蔽掉父類的同名成員變數。如果要在子類中訪問父類中同名成員變數,需要使用super關鍵字來進行引用。
2.子類繼承父類的方法
同樣地,子類也並不是完全繼承父類的所有方法。
1)能夠繼承父類的public和protected成員方法;不能夠繼承父類的private成員方法;
2)對於父類的包訪問許可權成員方法,如果子類和父類在同一個包下,則子類能夠繼承;否則,子類不能夠繼承;
3)對於子類可以繼承的父類成員方法,如果在子類中出現了同名稱的成員方法,則稱為覆蓋,即子類的成員方法會覆蓋掉父類的同名成員方法。如果要在子類中訪問父類中同名成員方法,需要使用super關鍵字來進行引用。

Ⅷ java繼承與類


首先,需要了解一下java關於類繼承和介面實現的基礎理論知識,如下:

類繼承:繼承是面向對象最顯著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數據屬性和行為,並能擴展新的能力。Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。

介面實現:介面實現在java中是一種特殊繼承方式,介面在定義後,就可以在類中實現該介面。在類中實現介面可以使用關鍵字implements,其基本格式如下:

[修飾符] class <類名> [implements 介面列表]{

}

然後,需要創建父類和定義介面,如下:

創建父類:

classBird{
intlegnum=2;
voidegg(){
};
}

定義介面:

interfaceFlyanimal{
voidfly();
}

最後,可以創建一個類來繼承上面的父類和實現上面的介面,如下:

{
publicvoidfly(){
System.out.println("pigeoncanfly");
}
publicvoidegg(){
System.out.println("pigeoncanlayeggs");
}
}



閱讀全文

與java關於繼承相關的資料

熱點內容
javalistclear 瀏覽:605
哪個app上民宿多靠譜 瀏覽:825
重慶伺服器租用哪裡有雲伺服器 瀏覽:453
土星模擬器文件夾 瀏覽:902
文件夾文件袋文件盒 瀏覽:695
雲伺服器打開f8指令 瀏覽:243
盈透證券加密幣 瀏覽:72
阿里雲伺服器初始密碼怎麼修改 瀏覽:266
伺服器怎麼設定公用網路 瀏覽:99
程序員自己嘗尿檢測出糖尿病 瀏覽:593
列印添加pdf 瀏覽:932
蘋果解壓專家賬號 瀏覽:842
度曉曉app為什麼關閑 瀏覽:228
net文件是偽編解碼嗎 瀏覽:149
伴隨矩陣的matlab編程 瀏覽:63
單片機和h橋是什麼意思 瀏覽:314
51單片機光控設計論文 瀏覽:653
渦旋式壓縮機無油 瀏覽:731
企業網搭建及應用pdf 瀏覽:744
symanteclinux 瀏覽:879