当我通过反射搜索方法时,它显示新提供的方法。但我不知道如何调用这种方法,如果有人知道如何去做,请告诉我。java匿名类作为参数与新方法
//some pakage
pakage xyz;
class A {
// a simple method of class A
public void aMethod() {
//simple print statement
System.out.println("A class method");
}
}
class B {
// a method of class B that takes A types as an argument
public void bMethod(A arg) {
Class c = Class.forName("xyz.A");
Method[] methods = c.getDeclaredMethods();
for (Method method : methods) {
System.out.println(method.getName());
}
}
}
class Test {
public static void main(String[] args) {
B bObj = new B();
bObj.bMethod(new A() {
public void anotherMethod() {
System.out.println("another method");
}
});
}
}
请先格式化您的代码。 – weaver
我格式化了你的问题和你的代码,并修复了明显的错误。下一次,我会冷静下来。在写问题时要小心。 –
你也应该在更高层次上解释你想要达到的目标。你为什么使用反射?你为什么使用这样的匿名类和其他方法无法调用。但无论如何,如果你想找到这个额外的方法,你需要获得'arg'类的方法。不是A. –