JAVA的子介面可以覆蓋父介面中的方法,這樣做有什麼意義嗎?

時間 2021-05-11 16:16:36

1樓:飯後一杯酒

這樣做是沒有意義的。因為介面本身的意義在於對行為的抽象,以spring中BeanFactory為例,其存在的含義在於定義如何建立、獲取beanDefinition。而建立、獲取beanDefinition可以看作是一種行為,BeanFactory則完成了對這些行為的定義。

那麼子介面又是做什麼的呢?子介面則是對原有介面的功能進行擴充套件。BeanFactory存在乙個子介面:

HierarchicalBeanFactory,它的作用是在BeanFactory的基礎之上為其提供對parentFactory的支援,其實這就是利用新的介面對已有的介面進行擴充套件。但如果我們在子介面中重複定義父介面中已有的方法 ,,實際上這個介面只是用來提供對parentFactory的支援的,莫名其妙多了乙個不相干的方法,會導致業務邊界不清晰,職責不單一。

2樓:劉文俊

比如 AutoCloseable 介面的 close 方法丟擲 Exception,而 Closeable 介面的 close 方法只丟擲 IOException,這就是乙個意義

當然,除了異常以外,返回值型別還可以協變,引數型別也可以逆變。。。

tkinter可以做出多複雜的介面?

honghaier 我用Tkinter寫的開發工具,正好是用來做Tkinter介面設計的,但也不僅僅是做Tkinter介面設計。可以感受一下。TKinterDesigner V1.3.8版本簡介 嗶哩嗶哩 乾杯 bilibili TkinterDesigner 能不能用tkinter主要看你的需求。...

Java介面中的方法能被內聯嗎,什麼情況下會被內聯

萌萌 虛函式靜態呼叫 像這樣 pclass class vf 或者在類體內呼叫class vf 相當於this class vf 這種呼叫方式其實類似第二種呼叫方式。如果你可以肯定你要呼叫的函式,並且這個函式不需要執行時刻確定的資料。就可以這樣寫來提高效率,不錯吧。2.用乙個類物件通過成員選擇符.呼...

Java做後台介面,資料庫對應的實體類和Controller層給前端反序列化的實體類是否應該是兩個類?

404菌 多建幾個VO DTO 又沒事,前端要啥字段給啥字段。有些時候前端要的資料會從幾個表裡取。我所在專案是要求EO 資料庫對應實體類 最上不能出service層,即使沒有改變也得換乙個相同欄位的VO給到ctrl層 北冥有魚 介面返回的物件屬性一般是等於或多於前端所需的屬性。資料庫中的字段會有一些...