更新時間:2022-06-24 09:15:38 來源:動力節(jié)點 瀏覽1932次
Java父類子類的執(zhí)行順序是怎樣的?動力節(jié)點小編告訴大家,java和其他語言一樣,子類可以繼承父類,但父類不能繼承子類。

譬如創(chuàng)建兩個類,一個Fruit類,一個Apple類,你可以Fruit a = new Apple,不可以Apple a = new Fruit。
以常用的List型為例,你可以List l = new ArraytList,但不可以反著來。
而在List,Set等類型中,即使時它們的具體類型(就是用兩個三角括號包起來的那個)是父子類的關(guān)系,它們也不能互相繼承。
比如List a = new List,Set l =new Set,這兩種寫法都是錯的,但是List s = new ArrayList是正確的。
通過這兩個例子,可以粗略的看到,對與可以進行細化元素類型的類型,即使細化的元素互為父子類關(guān)系,它們也不能夠互相繼承,而對類型本身則是不會遇到這個問題的。
這是因為java在運行程序時,會把List、Set之類的類型的類型細化(后面三角括號里的東西)全部擦除,擦除的結(jié)果就導(dǎo)致在運行時如果加入屬于List但不屬于ArrayList(以Set l =new Set這句代碼為例)的元素,系統(tǒng)不會報錯。這無疑會造成嚴重的錯誤。因此,為了避免這種錯誤,java決定在系統(tǒng)運行之前的檢查中就規(guī)避掉這種行為。
同時,對于java的子類型還有如下的約束:
1.子類型可以增加方法,但不能刪除方法
2.子類型需要具體化父類型中抽象的方法
3.子類型方法有更多的不變量,更強的前置條件和更弱的后置條件
Java實驗班
0基礎(chǔ) 0學(xué)費 15天面授
Java就業(yè)班
有基礎(chǔ) 直達就業(yè)
Java夜校直播班
業(yè)余時間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)