学习过程中的小知识点总结,基础文章,选择
阅读。
【知识汇总】
一、 获取一个类中方法的详细信息
1. getDeclaredMethods()方法和getMethods()的区别
1)getDeclaredMethod*()获取的是类自身声明的所有方法,包含public、protected和private方法。
2)getMethod*()获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。
2. 如何得到一个类的方法的详细信息,下面的代码就是获得一个类的:
1)方法的名字
2)参数的类型
3)方法的返回值的类型
4)方法的修饰符有
5)方法的异常类型
3. 代码介绍:
1)ModifiersText.java实现获取Text类方法的信息
2)Test.java测试类
4. 代码:
1)ModifiersText.java
复制代码
1 import java.lang.reflect.Method;
2 import java.lang.reflect.Modifier;
3
4 public class ModifiersText {
5 public static void main(String[] args) throws Exception {
6 Class c=Class.forName("Test");
7 //-------------------获取方法的详细信息
8 //-------------------测试函数getDeclaredMethods()
9 Method m[]=c.getDeclaredMethods();
10
11 for(int i=0;i
12 {
13 //--------------------获得方法的名字
14 System.out.println("getDeclaredMethods()获得的方法的名字是:"+m[i].getName());
15
16 //--------------------获得方法参数的类型和有几个参数
17 Class b[]=m[i].getParameterTypes();//获得所有的参数并且存放到数组B中
18 for(int j=0;j
21
19 System.out.println("getDeclaredMethods()获得的参数的类型是"+b[j]);
20 }
22 //--------------------获得方法返回值的类型
23 System.out.println("getDeclaredMethods()获得的方法的返回值的类型"+m[i].getReturnType());//获得方法的返回值类型
24
25 //--------------------获得方法的修饰符
26 int mod=m[i].getModifiers();
27 System.out.println("getDeclaredMethods()获得的方法的修饰符有"+Modifier.toString(mod));
28
29 //--------------------获得方法的异常类型
30 Class e[]=m[i].getExceptionTypes();//获得所有的异常类型存放到数组e中
31 for(int k=0;k
32 System.out.println("getDeclaredMethods()获得的方法的异常类型是:"+e[k]);
33 }
34
35 System.out.println("-------------------------------------------------------------------");
36 }
37
38 //-------------------获取方法的详细信息
39 //-------------------测试函数getMethods()
40 Method n[]=c.getMethods();
41
42 for(int i=0;i
43 {
44 //--------------------获得方法的名字
45 System.out.println("getMethods()获得的方法的名字是:"+n[i].getName());
46
47 //--------------------获得方法参数的类型和有几个参数
48 Class b1[]=n[i].getParameterTypes();//获得所有的参数并且存放到数组B中
49 for(int j=0;j
50 System.out.println("getMethods()获得的参数的类型是"+b1[j]);
51 }
52
53 //--------------------获得方法返回值的类型
54 System.out.println("getMethods()获得的方法的返回值的类型"+n[i].getReturnType());//获得方法的返回值类型
55
56 //--------------------获得方法的修饰符
57 int mod1=n[i].getModifiers();
58 System.out.println("getMethods()获得的方法的修饰符有"+Modifier.toString(mod1));
59
60 //--------------------获得方法的异常类型
61 Class e1[]=n[i].getExceptionTypes();//获得所有的异常类型存放到数组e中