日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

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

發布時間:2025/5/22 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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.类的复用的全部內容,希望文章能夠幫你解決所遇到的問題。

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