我正在使用一個開源框架(準確地說是libGDX),但是我想編輯一個類的內部行爲並按原樣使用框架的其餘部分。問題是,當我擴展它時,我無法訪問該類的受保護成員。我不知道反思是否是最好的遊戲。該類用於框架的其他類,我也想使用它們。在java開源框架中編輯一個類的最好方法
編輯:發現,委員們只保護(原來的問題包括私有成員),但我不能夠訪問它們封裝外部
我正在使用一個開源框架(準確地說是libGDX),但是我想編輯一個類的內部行爲並按原樣使用框架的其餘部分。問題是,當我擴展它時,我無法訪問該類的受保護成員。我不知道反思是否是最好的遊戲。該類用於框架的其他類,我也想使用它們。在java開源框架中編輯一個類的最好方法
編輯:發現,委員們只保護(原來的問題包括私有成員),但我不能夠訪問它們封裝外部
三個選項:
或者,你可能會問自己,如果你的想法真的是一個好主意。也許你只是不明白如何正確使用該庫?但我們不能幫助您給出您當前的輸入...
所以沒有任何其他選項,而是編譯整個框架?(無法說服他們更改代碼,因爲這些更改不會因爲他們的代碼是通用的) –
@MichalLebeda編譯整個框架是你在這條路上遇到的最少的問題。 – lexicore
如果它的開源,爲什麼不幫助它改善它或叉,而不是瘋了嗎? –
與我的互聯網速度和CPU,我想問我之前我自己編譯該框架 –
一個更好的問題是,爲什麼你想要補丁庫。如果只是訪問一些私人領域 - 嗯,反思可以爲你做到這一點。但我首先想到爲什麼這些領域是第一位的私人領域。如果他們不打算公開使用,那麼不要這樣做是個好主意。開發人員會根據自己的意願完全自由地更改私有實現細節,以便您的聰明黑客可能會在下一個版本的庫中停止工作。 – lexicore