假设我有这些类:
class A{
void f();
}
class B extends A{
void g();
}
当我这样做时,我会得到什么:
Class.forename("B").getMethods();
我会得到f
方法吗g
????
如果是,那么如何只获取当前类的方法而不是父类(在本例中,方法g()
(????
谢谢额头!
使用 Class.getDeclaredMethods 而不是 getMethods。
这(getDeclaredMethods返回的方法(包括
public
,protected
,default
(包(访问,以及private
方法,但不包括 继承的方法。
使用 getDeclaredMethods(( api。
来自 Java API 参考 -
返回一个 Method 对象数组,这些对象反映由 Class 对象表示的类或接口声明的所有方法。这包括公共、受保护、默认(包(访问和私有方法,但不包括继承的方法。