假设我有这些类:
class A{
void f();
}
class B extends A{
void g();
}
当我这样做时,我会得到什么:
Class.forename("B").getMethods();
我会获得方法f
和g
????
如果是,那么如何获取当前类的方法而不是它的父类(在本例中为方法g()
)????
答案 0 :(得分:8)
使用Class.getDeclaredMethods代替getMethods。
这个(getDeclaredMethods返回的方法)包括
public
,protected
,default
(包)访问权限,以及private
方法,但不包括在内 继承的方法。
答案 1 :(得分:0)
使用getDeclaredMethods()api。
来自java api reference -
返回一个Method对象数组,这些对象反映由此Class对象表示的类或接口声明的所有方法。这包括公共,受保护,默认(包)访问和私有方法,但不包括继承的方法。