Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用cglib向java类添加多个实现?_Java_Cglib - Fatal编程技术网

如何使用cglib向java类添加多个实现?

如何使用cglib向java类添加多个实现?,java,cglib,Java,Cglib,是否可以使用cglib支持此解决方案 interface I { void foo(); void boo(); } abstract class B implements I { foo(); } abstract class C implements I { boo(); } abstract class D extends B { } 代码 D d = new D(); d.foo(); d.boo(); 是的,这对CgLib来说不是问题。我甚至试过这样做,这

是否可以使用cglib支持此解决方案

interface I { 
void foo(); 
void boo(); 
}

abstract class B implements I { 
  foo();
}

abstract class C implements I { 
  boo();
}

abstract class D extends B {

}
代码

D d = new D();
d.foo();
d.boo();

是的,这对CgLib来说不是问题。我甚至试过这样做,这对我来说没有问题。我使用cglib-nodep-2.1_3.jar

如果你想看d.boo();什么都不做我看这里没问题

如果您想要实现类似Java8默认方法的东西,那么传递对象的状态就有点棘手了


唯一不同的是,您需要通过增强器创建一个对象。如果要更改“new D();”的行为方式,应该尝试AspectJ。我认为可以让它与AspectJ一起工作,但eclipse compliator总是会给您带来问题。应该可以忽略编译器错误。

@-1,我如何改进这个问题?他们否决了投票,因为他们不理解。拥有OCJP后,您将成为Java专家。他们是Java专家,不知道你在说什么。