導航:首頁 > 編程語言 > java子類與父類的關系

java子類與父類的關系

發布時間:2022-04-26 06:38:06

A. java中子類繼承父類

除了父類的私有域,子類都能繼承,也就是說,除了用private限制權利的子類都能繼承。不用舉例了,這已經很清楚了,只要將變數和方法前面加上private,就不能調用!

B. java異常類子類和父類的關系

java的父類和子類的關系, 他們主要的關系肯定是繼承。子類也可以重寫父類的方法。

繼承是面向對象最顯著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數據屬性和行為,並能擴展新的能力。[1] Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術使得復用以前的代碼非常容易,能夠大大縮短開發周期,降低開發費用。比如可以先定義一個類叫車,車有以下屬性:車體大小,顏色,方向盤,輪胎,而又由車這個類派生出轎車和卡車兩個類,為轎車添加一個小後備箱,而為卡車添加一個大貨箱。

C. JAVA中 子類與父類構造方法的關系 個人理解

編寫JAVA作業時在繼承的環節發現了一些錯誤,希望總結一些規律:(以下全部屬於自己歸納,可能有問題)
一句話概括就是:子類一定會調用(不是繼承)父類的構造方法!
即遵循一個原則:子類的構造一定是在父類已構造的基礎上!
這句話要分為幾種情況來理解(下面只討論父類有構造函數):
子類構造函數自動調用super() (也可以手動加上)
但如果父類只有含參數的構造方法,那麼子類必須申明一個構造方法,其中包含對super(args)的調用
一、父類含有無參構造函數
1、子類沒有構造方法或者含有無參的構造方法:
這種情況,都會默認地調用super()
2、子類含有有參數構造方法:
同樣會在首句默認調用super() //其實跟情況1類似
二、父類含有含參數的構造方法,不含無參數的構造方法:
子類沒得選擇:
子類必須申明一個構造方法(且含super的args),且方法里要首先調用super(args),否則報錯。
三、父類含 含參數的構造方法和無參的構造方法:
此時子類可以選擇性調用:
可以無構造方法:仍會默認調用super()
也可以有構造方法:其中會默認地調用super(),你也可以在開頭加上這句,如果你不希望調用父類默認的無參方法,那麼在 子類構造方法 中調用 父類含參構造方法。
上述看似情況復雜,其實基於其原則理解並不難。
綜上:java為了保持 子類的構造基於父類的構造 這一原則,子類構造時必須通過某些方式首先調用父類的構造方法,否則會報錯。

D. java中為什麼說子類對象即是父類對象求詳解!!!

首先,子類繼承自父類,可以繼承父類除私有成員以外的所有成員,本身具有父類的一切性質。
就如:學生類繼承自人類。按實際情況來說,學生屬於人,具有人所具有的一切特徵。所以可以說:學生是人。
再者,子類對象即使父類對象。體現了java中多態的特性。多態,是面向對象的程序設計語言最核心的特徵。多態,意味著一個對象有著多重特徵,可以在特定的情況下,表現不同的狀態,從而對應著不同的屬性和方法。從程序設計的角度而言,多態可以這樣來實現(以java語言為例):
public interface Parent(){
public void simpleCall();
}
public class Child_A implements Parent{
public void simpleCall(){
//具體的實現細節;
}
}
public class Child_B implements Parent{
public void simpleCall(){
//具體的實現細節;
}
}
//當然還可以有其他的實現
然後,我們就可以看到多態所展示的特性了:
Parent pa = new Child_A();
pa.simpleCall()則顯然是調用Child_A的方法;
Parent pa = new Child_B();
pa.simpleCall()則是在調用Child_B的方法。所以,我們對於抽象的父類或者介面給出了我們的具體實現後,pa 可以完全不用管實現的細節,只訪問我們定義的方法,就可以了。

E. 什麼是類的繼承性Java中子類和父類有什麼關系

1,不是繼承性吧,應是傳遞性,如a繼承b,b繼承c,既a繼承c,子類可以繼承父類中的屬性和方法(除私有的)。

F. java中子類和父類繼承關系的應用

父類更多的是一個繼承的作用,比如我現在需要製作好多傢具,但是這些傢具都有一些共同特性:都是實木,加工程序,銷售程序等,然後沙發有沙發的特性,桌子有桌子的特性,定義類的繼承主要是為了更好的拓展,比如某天我所有的傢具的加工程序突然都改變了,如果沒有父類,我是不是要在所有的子類裡面都去重新修改加工程序?但是如果這些傢具都繼承了同一個父類的話,我就只需要修改父類(也就是傢具)的加工程序,就不需要沙發、桌子什麼的都修改了。。
而父類的作用還不僅如此,比如我現在需要執行「加工」這一方法,但是我不知道是執行加工沙發還是執行加工桌子,那麼久直接選擇執行加工傢具了,類的繼承一個是方法屬性的繼承,還有就是一種規范(跟介面一樣)。。

G. java的抽象類和父類子類有啥區別

父類和抽象類:
父類是相對來說的,如果B類繼承自A類,那麼A類就是B類的父類,但是抽象類是一個絕對概念,只要使用abstract關鍵字聲明的類都是抽象類。抽象類不能夠直接被實例化,比如C類是抽象類,那麼就不能使用new關鍵字聲明C類的對象,只能聲明抽象類子類的對象。一般來說,抽象類一定是某些類的父類(否則因為不能聲明抽象類的對象,也就不能使用抽象類,當然這也不是絕對的,如果抽象類中的方法都是靜態方法,不需要使用實例對象,那麼也是可以的),但是父類不一定是抽象類。
子類關系:只要子類沒有把從父類繼承的抽象方法全部實現(注意是全部實現),就必須也變成抽象類。父類有2個抽象方法,子類只實現了父類的1個抽象方法,則子類必須是抽象類。如果子類把父類的2個抽象方法都實現了,就沒必要是抽象類。判斷標准就是,非抽象子類中不能有抽象方法,如果有抽象方法,子類就必須是抽象類。如果子類添加了自己的抽象方法,子類也必須是抽象類,無論父類是不是抽象類。

H. 在java 中,什麼叫父類,什麼叫子類

父類和子類,就例如:老子和兒子,有著父子關系。而這里指的父子關系,其實也就是一種包含關系。打個比方,在我們現實生活中,學生Student是一個很大的概念,而U_Student大學生是屬於學生中的一種,這里的學生即為父類,大學生即為子類。
父類和子類區別在哪?
學生和大學生都會有學習Study這個方法,但是大學生還會有自己特有的Study方法,兩者還是有一定區別的,大學生的學習相較於其他學生來說,是更自由的。假如現在已經有一個學生(Student)類,然後我還要寫一個大學生(U_Student)類,然後大學生UStudent類里有很多方法和Student里的方法都相同,但是還是有一小部分不同,怎樣解決呢?難道還要重新寫一個大學生類,並且重復敲一遍和學生類中一樣的代碼嗎?那樣浪費了時間和精力,並且浪費了存儲空間,是很不劃算的。所以,就有了「繼承」。
子類繼承父類,就是子類能引用父類中的某些東西。繼承的關鍵字是extends,
例如:
public class Student(){}//父類
public class U_Student extends Student(){}//子類繼承了父類
當子類和父類用一個同名方法,但是子類的實現卻和父類不同,用到"方法重寫"。
重寫是指方法定義相同,但是實現不同,存在於父子類之間。
例如:
//父類
public class Student(){
//學習方法
public void study(){
System.out.println("我通過聽老師講課學習");
}
}

//子類
public class UStudent extends Student(){
public void study(){
System.out.println("我通過自習去學習");
}
}

I. JAVA中,子類將繼承父類的所有屬性和方法么~為什麼

是的,子類將繼承父類的非私有的屬性和方法。

在JAVA中,子類繼承父類的所有方法和屬性(構造方法要用關鍵super([參數])調用);繼承是JAVA中一個重要的特色,便於程序的編寫,提高代碼的重用性。

1、如果給子類i提供get和set 通過get調用的自然是子類的。

2、如果給父類和子類分別提供get和set,調的仍然是子類的,因為方法被重寫。

(9)java子類與父類的關系擴展閱讀

在繼承中用到super調用父類的構造

private String name;

private String sex;

public xinxin1(String name,String sex)

{

this.name=name;

this.sex=sex;

}

public void hello(){

System.out.println(「嗨!我是」+name+」我是」+sex+」孩」);

}

J. java 子類與父類 關系

parent p=new Child();
子類的引用動態的指向父類引用對象
初始化的後
如果子類自己沒有構造方法,則它將繼承父類的無參數構造方法作為自己的構造方法;如果子類自己定義了構造方法,則在創建新對象時,它將先執行繼承自父類的無參數構造方法,然後再執行自己的構造方法。

所以先調用父類的Parent構造方法 然後子類對function進行了重寫 所以輸出
child's function
然後System.out.println(p.a);列印55
System.out.println(p.funtion());列印child's function 因為子類已經對父類的function方法進行了重寫

閱讀全文

與java子類與父類的關系相關的資料

熱點內容
javastring字元位置 瀏覽:196
銀河麒麟字體庫存在哪個文件夾 瀏覽:956
魔獸加丁伺服器的航空叫什麼 瀏覽:152
花冠改裝案例哪個app多 瀏覽:515
成績單app哪個好用 瀏覽:140
北美程序員vs國內程序員 瀏覽:181
php解析xml文檔 瀏覽:121
石墨文檔APP怎麼橫屏 瀏覽:185
牆主鋼筋加密和非加密怎麼看 瀏覽:144
金山區文件夾封套定製 瀏覽:708
soho程序員 瀏覽:672
java位元組截取 瀏覽:525
php提交作業 瀏覽:815
房產還沒解壓可以辦理贈予嗎 瀏覽:224
java毫秒轉分鍾 瀏覽:753
模式識別中文pdf 瀏覽:774
c語言平均數字編譯錯誤 瀏覽:171
單片機算交流 瀏覽:45
php自適應網站 瀏覽:467
2b2t伺服器怎麼獲得許可權 瀏覽:816