鉴于两个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