2011-05-25 86 views
2

假设我有这些类:选择当前类的方法,而不是继承的类

class A{ 
    void f(); 
} 

class B extends A{ 
    void g(); 
} 

什么我会当我这样做:

Class.forename("B").getMethods(); 

我将获得方法fg ????

如果是的话,那么如何获得当前只是类的方法,而不是它的父类(在这个例子中,方法g())????

感谢额头!代替的getMethods

+2

更多的问号的问题变得更强大,它看起来! – bestsss 2011-05-25 09:48:27

回答

8

使用Class.getDeclaredMethods

这(由getDeclaredMethods返回方法)包括publicprotecteddefault(包)访问,并 private方法,但不包括 继承的方法。

0

使用getDeclaredMethods()API。

从Java API参考 -

返回Method对象反映此Class对象所表示的类或接口声明的所有方法的一个数组。这包括公共,受保护,默认(包)访问和私有方法,但不包括继承的方法。