當我通過反射搜索方法時,它顯示新提供的方法。但我不知道如何調用這種方法,如果有人知道如何去做,請告訴我。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. –