日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java学习记录-3.类的复用

發布時間:2025/5/22 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java学习记录-3.类的复用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對類的復用主要有兩種方式,組合與繼承。

組合

在一個類中使用一個類。

對于這些對象的初始化有四種方式:

1.在定義域處,這樣在構造器被調用之前就會被初始化。

2.在構造器內。

3.惰性初始化,既在使用這些對象的時候初始化。

4.實例初始化。

繼承

Java中任何一個對象都存在繼承關系,哪怕沒有指明繼承的類,也會隱式地從標準根類Object進行繼承。對于訪問權限,即便是繼承而來的子類,也需嚴格遵守規則,無法訪問基類的private成員,包外也無法訪問friendly成員。但如果必須要調用基類的private實例域,也可以定義一個get方法。子類的方法來自對基類的繼承,對基類方法的覆蓋和額外添加新方法。若要在子類中調用基類版本的方法,只需寫為super.MethodName。

對于構造器,無參數的積累構造器是自動調用的,無需手動調用,而若要指定某個有參數的構造器,則需使用super方法,例如,在子類中調用super(i)則會調用基類中有一個參數的構造器。需要注意的事,在子類構造器中指明使用的積累構造器是很重要的,要在第一時間內寫出。

對于重載方法,只要簽名不同,在子類中重載方法就不會覆蓋基類的方法,可以在子類中調用包括基類和子類在內的所有重載版本。

對繼承的初始化是由基類像子類逐層進行的。

代理

在其他類中將該類作為成員對象(就像組合),在創建方法的時候有選擇的將該類的方法包含其中,使得新的類擁有該類的接口(就像繼承)。

在組合與繼承之間選擇

組合意味著設計者想要使用它的一些個方法,這些組合類應該使用private修飾,但當組合類自身的的具體實現都隱藏了的時候,使用public也無妨,并且可以更好的展示這個類的組合情況,如engine類有一個start()方法,而car類則組合了engine類,則可以在car類內創建一個實例engine1,在擁有一個car類的實例car1時通過car1.engine1.start()來調用。

繼承則意味著想要將一個通用類特殊化,例如車類繼承自交通工具類,而不是車類組合了一個交通工具類。

更多應用

同時調用組合與繼承也是一種非常常用的方法。

思想

高層對象不應該依賴于低層對象,它們都應該依賴于抽象;抽象不應該依賴于細節,細節應該依賴于抽象。

轉載于:https://www.cnblogs.com/liuzey/p/8796281.html

總結

以上是生活随笔為你收集整理的Java学习记录-3.类的复用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。