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

java繼承類

發布時間:2022-01-31 18:41:41

java中定義一個類可以同時繼承兩個類

java中一個類不能直接繼承兩個類。

比如說這樣:class A extends B,C

不能這樣寫,因為java不支持多繼承,但是可以像下面這樣實現繼承多個類:

class A extends B

class C extends A

這樣C就同時繼承了B和A兩個類。



(1)java繼承類擴展閱讀

當子類繼承了某個類之後,便可以使用父類中的成員變數,但是並不是完全繼承父類的所有成員變數。具體的原則如下:

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:怎樣繼承其他java文件中的類(在同一個目錄下)

你先編譯a.java,再編譯b.java,在編譯b的時候可能需要指定classpath。或者你試下直接用javac *.java批量編譯。

補充:我試了,可以呀!
以下是我的測試:
======================cmd.exe===========================
E:\java>tree /f
卷 軟體暫放 的文件夾 PATH 列表
卷序列號為 34BC-AF78
E:.
A.java
B.java

沒有子文件夾

E:\java>javac *.java

E:\java>java B
Hello A!

E:\java>
========================================================
其中:
class A{
public void fun(){
System.out.println("Hello A!");
}
}
===========================================
class B extends A{
public static void main(String[] a){
B b = new B();
b.fun();
}
}
=====================
如果是因為你類中使用了包聲明,則請參閱這個
http://..com/question/126658240.html
^_^

再次補充:
如果你一定要將你的源代碼成功編譯的話,倒可以這樣做:
=======cmd==========
E:\java>tree /f
卷 軟體暫放 的文件夾 PATH 列表
卷序列號為 34BC-AF78
E:.
└—mypk
A.java
B.java

E:\java>
===============end of cmd============
將你兩個類文件放在E:\java\mypk目錄下,注意最後一個是mypk,和你包名相同。
然後將cmd切換到mypk上一個目錄,即上面的E:\java目錄中,
==============cmd======================

E:\java>javac mypk/A.java

E:\java>javac mypk/B.java

E:\java>java mypk.B
Exception in thread "main" java.lang.NoSuchMethodError: main

E:\java>
============end of cmd =====================
首先使用「javac mypk/A.java」編譯,這里最後一個「/」表示「目錄層次」的意思。
然後用「E:\java>java mypk.B」運行,這里最後一個「.」表示「包結構」的意思。
最後拋出的那個異常是因為你B.java中沒有main()函數所致。

㈣ java繼承類實現介面

這個做法有點類似C++裡面的多繼承,這樣說不知道你是不是理解,
但是java不支持多繼承,只支持單繼承,但是可以通過實現介面的形式等價實現多繼承的概念,並且可以防止出現多繼承出現的充不同的類出現繼承相同方法的問題。

㈤ java中的繼承都有哪些

繼承分為單重繼承和多重繼承;單繼承:一個子類只有唯一的父類;多重繼承:一個子類可以繼承多個父類;但是java不支持多繼承。子類繼承父類,子類繼承了父類的屬性可以調用父類的方法,還可以自己添加方法。

㈥ java如何繼承兩個類

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

㈦ java中如何繼承一個類

一個子類只能繼承一個父類,一個父類可以被多個子類繼承,所以你的問題是不可能實現的,如果你真像繼承兩個父類 就在新建個子類去繼承那個父類,要用的時候只要調用這個子類的方法就可以了

㈧ java繼承類怎麼創建

你好,很高興回答你的問題。
java語言中創建繼承類可以通過下面的語法來創建。
public class 子類 extends 父類{}
如果有幫助到你,請點擊採納。

閱讀全文

與java繼承類相關的資料

熱點內容
編譯器原理與實現書 瀏覽:708
dos選擇命令 瀏覽:16
apm固件編譯到單片機 瀏覽:120
聯通深藍卡都包含什麼app 瀏覽:263
如何判斷網路伺服器正常 瀏覽:649
路由器搭橋遠端伺服器地址是什麼 瀏覽:515
編譯動態庫時會連接依賴庫嗎 瀏覽:707
淘寶手機加密是隨機的嗎 瀏覽:672
解壓包子怎麼裝飾 瀏覽:585
四個數湊24演算法 瀏覽:676
哪一種不是vi編譯器的模式 瀏覽:169
xp在此處打開命令窗口 瀏覽:128
代碼編譯運行用什麼軟體 瀏覽:999
動態庫在程序編譯時會被連接到 瀏覽:762
python超簡單編程 瀏覽:260
獲取命令方 瀏覽:978
怎樣製作文件夾和圖片 瀏覽:60
調研編譯寫信息 瀏覽:861
python馮諾依曼 瀏覽:419
同時安裝多個app有什麼影響 瀏覽:254