我們在外部庫中包含了一部分功能,並將其附加到我們的項目中。該庫不能以任何方式更改。其中有兩類:com.myorg.Grandpa
和com.myorg.Dad
,延伸com.myorg.Grandpa
。還有com.myorg.Grandson
延伸com.myorg.Dad
和一些其他類擴展com.myorg.Grandpa
以外的類。使IDE類具有比IDEA中的庫更高的編譯優先級
我反編譯com.myorg.Grandpa
類,並添加一個新的方法new_method()
它。 然後,我嘗試在com.myorg.Grandson
中使用new_method()
,但IDEA不會讓我這樣做,因爲孫子延伸了爸爸,它擴展了圖書館的爺爺,它不包含new_method()
。 我試圖從庫中刪除爺爺,令人驚訝的是IDEA沒有說一個字,併成功地編譯了一個項目,儘管在圖書館的邊界,父親擴展了非現有的類。
問題是如何強制爸爸擴大一個新的爺爺而不刪除庫內的一個?
OT:你的模型看起來有點奇怪。爸爸是'爺爺,然後是孫子'是'爸爸'。這真的是你的意圖嗎? – maba