是否可以重新定义现有的类?
让我说我上课
public class A {
public void method() { ... }
}
然后是单个界面
public interface B {
public void method();
}
在运行时,我想将两者混合在一起。
public class A implements B {
@Override
public void method() { ... }
}
以这种方式,每次通过new关键字初始化一个新的A对象时,它都会实现B接口,在另一个表达式中,以下表达式将始终为真
A a = new A();
if (A instanceof B) {
//always true
}
使用bytebuddy或ASM可能吗?还是类似的东西在Java中根本不可能?