鑑於兩個Java類,A和B,其中A通常是利用B實例化的,如:如何擴展由另一個類實例化的java類?
A myA = B.createA();
我可以創建一個(我們稱之爲蘇巴)一個子類,莫名其妙地就被實例化B.createA()方法?
(請注意,我不能修改A和B ....)
我知道,不是所有實例都蘇巴的情況,因此,我不能做到這一點:
SubA mySubA = B.createA();
同樣,我不能這樣做:
SubA mySubA = (SubA) (B.createA());
出於同樣的原因 - 它會得到一個ClassCastException。
我是密集的,忘記了一些根本性的東西,還是沒有辦法做到這一點? (後期補充:我非常抱歉,我應該提到A和B各有大約50種方法,我想要做的就是向SubA中添加一個屬性,以及一個getter和setter。我真的寧可不落實的的方法都50來調用父類的對象相應的方法)
對於我在我的問題中給出的有限信息,這絕對是對它的回答。我將不得不做一些挖掘和一些實驗,看看它是否在我所處的真實情況下工作,但我很肯定這個答案! – Scott 2009-04-30 23:58:39