【发布时间】:2010-12-30 00:01:33
【问题描述】:
我的代码有一个小问题
我有两节课
public class A {
public A foo(int a) {return new A();}
}
public class B extends A{
public B foo(int x){ return new B();}
}
现在在我的代码中,我只想打印在 B 类中声明的方法
这样
B b = new B();
Method[] m = b.getClass().getDeclaredMethods();
for (int i = 0; i < m.length; i++) {
System.out.print(m[i].getName());
}
为什么输出是
foo
foo
为什么 GetDeclaredMethods 也会在 A 类中找到 foo? 我该如何解决?
谢谢
【问题讨论】:
标签: java reflection inheritance