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

时间: 2024-09-19 20:33:00

java反射中getDeclaredMethods和getMethods的区别的相关文章

java反射中class对象的理解

问题描述 java反射中class对象的理解 看到String.class和int.class,感到感到跟奇怪,点运算符后通常是成员变量或者方法,可这个class却不属于这二者,他们究竟该怎么理解? 解决方案 .class是一个特殊的运算符,java编译器会据此得到类型对应的class对象. 解决方案二: 你也知道是通常,,.class就相当于编译后生成的.class文件,,通过这个文件jvm就能使用这个类 解决方案三: 通过.class可以取得对象的元数据 解决方案四: Java反射(一)Cl

java-JAVA反射中,依赖JAR包的加载问题

问题描述 JAVA反射中,依赖JAR包的加载问题 我现在在使用JAVA的反射功能,但我的主程序和需要反射的CLASS不在同一个目录,所以当我反射的CLASS中使用到需要依赖的JAR包时,会加载不到,依赖的JAR包已经放到反射目录中了.请问有没有什么办法可以加载到这些依赖的JAR包.

反射中的Constructor和数组反射

一.反射中的Constructor Constructor类代表某个类中的一个构造方法         Constructor 翻译过来的意思是"构造函数",它是用来描述一个类中的构造函数的.JDK帮助文档的解释--->Constructor 提供关于类的单个构造方法的信息以及对它的访问权限. 现在我有一个MyConstructor类,用反射分别打印出1,2,3.   public class MyConstructor {// -------------------------

java中public class与class的区别详解

以下是对java中public class与class的区别进行了分析介绍,需要的朋友可以过来参考下   在编写类的时候可以使用两种方式定义类:public class定义类: class定义类:如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致.范例:定义一个类(文件名称为:Hello.java) 复制代码 代码如下: public class HelloDemo{    //声明一个类,类名称的命名规范:所有单词的首字母大写     public s

java语法-Java中迭代和循环有什么区别和联系

问题描述 Java中迭代和循环有什么区别和联系 Java中迭代和循环有什么区别和联系 都是什么条件语句有循环和迭代啊 解决方案 迭代是通过循环实现的,但是循环不一定是迭代. 迭代一般是指对集合的遍历. 解决方案二: 另外迭代也可以不用循环,比如如下代码: void showdata(RecordSet rs) { if (!rs.hasNext()) { rs.moveNext(); print(rs.getInt(0)); showdata(rs); } } 这段代码用了递归,就没有用循环 解

请问下java中FileOutputStream,PrintStream中的区别

问题描述 请问下java中FileOutputStream,PrintStream中的区别 请问下俩个输出流的区别,什么时候用哪个流?是否可以这么理解,FileOutputStream是关联字节文件的基础?PrintStream只是其附加功能,就像BufferedOutputStream一样? 解决方案 public class FileOutputStream extends OutputStream public class PrintStream extends FilterOutputS

java可变类和不可变类区别中,对于不可变类克隆的问题

问题描述 java可变类和不可变类区别中,对于不可变类克隆的问题 import java.util.Date; public final class BrokenPerson { private String firstName; private String lastName; private Date dob; public BrokenPerson( String firstName, public BetterPerson( String firstName, String lastNa

Java语言----三种循环语句的区别介绍_java

第一种:for循环 循环结构for语句的格式:      for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体;   } eg: class Dome_For2{ public static void main(String[] args) { //System.out.println("Hello World!"); //求1-10的偶数的和 int sum = 0; for (int i = 1;i<=10 ; i++ ) { if (i%2 ==0) { //

Java里面重载和重写有什么区别啊?

问题描述 Java里面重载和重写有什么区别啊? Java里面重载和重写有什么区别啊? 怎么老是记不住? ....... ....... ....... 解决方案 重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值. 用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般. 解决方案二: 字面意思,重载:重新载入,方法名一样,根据传入的参数不同拥有不同的功能或返回值,举个例子:你往光