在Java中,是否可能仅通过父类的实例来动态创建匿名子类实例?
我试图实现的模式代码如下:
我试图实现的模式代码如下:
public interface IStringCarier { public String getStr(); }
public static IStringCarier introduce(Object victim, final String str) {
// question subject
}
public class AAA { }
public static void main() {
AAA aaa = new AAA();
assert !(aaa instanceof IStringCarier);
IStringCarier bbb = introduce(aaa, "HelloWorld");
assert aaa == bbb;
assert "HelloWorld".equals(bbb.getStr());
}
实际上,这段代码还有两个问题需要解决:
(2) 不仅要创建子类实例,还要将原型实例重新分配给新创建的实例(代码中的第二个断言)。
(3) 将子类引入到某些特定接口中。
我怀疑这是可能的,但我对Java还是初学者,所以……