天天看点

java反射中getDeclaredMethods和getMethods的区别

getmethods

public method[] getmethods() throws securityexception

返回一个包含某些 method 对象的数组,这些对象反映此 class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法。数组类返回从 object 类继承的所有(公共)member 方法。

返回数组中的元素没有排序,也没有任何特定的顺序。

如果此 class 对象表示没有公共成员方法的类或接口,或者表示一个基本类型或 void,则此方法返回长度为 0 的数组。

getdeclaredmethods

public method[] getdeclaredmethods() throws securityexception

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

如果该类或接口不声明任何方法,或者此 class 对象表示一个基本类型、一个数组类或 void,则此方法返回一个长度为 0 的数组。类初始化方法 <clinit> 不包含在返回数组中。如果该类声明带有相同参数类型的多个公共成员方法,则它们都包含在返回的数组中。

原帖地址:http://www.blogjava.net/ycfdonews/articles/198622.html