我有一個類中的抽象方法需要在使用我的項目的SEPARATE項目中由外部類實現。(Java)爲通過反射創建的新對象創建方法?
- 所有的類的instanceof甲使用反射最初生成 -
所以無論如何,說一類是抽象的,和B類(非抽象)延伸的
B具有所有的未實現的方法在A類中,因爲B在我的工作區中,所以我知道要添加這些方法。
C也擴展了A,但是C只有A的抽象方法的一個子集,但是不在我的工作空間中。
因此,不是在一個在C中的每個抽象方法,我需要找到一些方法來添加對所提出的方法,像這樣:
(對於每一種方法)
public <corresponding return type> <missingMethodName>() { return null; }
這是可能的?
P.S.請假設我必須完全重寫我的代碼才能與我無法控制的對象保持同步,或者實施一個類似我上面提到的解決方案。
如何代碼編譯,如果'C'延伸A'''A'是抽象的,而'C'沒有實現所有抽象方法?另外,如果被調用的'super'是'A',它沒有實現,那麼如何調用'super。()'? –
你的問題不是很清楚。反射允許您加載類和調用方法。但它不允許定義新的方法。你需要使用字節碼檢測來做到這一點。另外,我沒有看到工作區與此有關:工作區是IDE的一個東西。它與Java程序的執行無關。 –
廢話,你是對的,這是不可能的。該類將不得不在運行時實現。該死的... – Ryan