0
我使用CGLIB來提高A級CGLIB - 控制實例創建
public class A {
public void printName(){
System.out.println("guy");
}
}
我有延伸的A級
public class B extends A{
public void printName(){
System.out.println("someone else!");
}
}
我怎麼能告訴CGLIB實例B的,而不是B類當我加強它時?
public A getEnhancedClass(boolean trueIfIWantBInsteadOfA){
e.setSuperclass(A.class); // cannot change this
e.setCallback(createDummyInterceptor());// an interceptor that just invokesSuper
/// ... missing code here
return (A) e.create()
}
下面的代碼應打印 「別人!」
getEnhancedClass(true).printName();