Java反射机制-用代码讲话
Java反射机制---用代码说话
java反射机制主要用途:可以获到一个类的很多信息,甚至返回值,修饰符等。。
package com.test; import java.lang.reflect.Method; public class test2 { public static void main(String[] args) { Gen<Bird> gen1=new Gen<Bird>(new Bird()); gen1.showTypeName(); } } //定义一个鸟类 class Bird{ public void test(){ System.out.println("I am a bird"); } public void count(int a,int b){ System.out.println("和为:"+a+b); } } //创建一个类,这个T是我认为的一种类型,但是不知道是什么类型,这就是泛型 class Gen<T>{ private T o; public Gen(T a){ o=a; } //得到T的类型名称 public void showTypeName(){ System.out.println("T类型是:"+o.getClass().getName()); //通过反射机制,我们可以得到T这个类型的很多信息 //比如说:成员函数名称,返回类型,成员变量等 Method[] m=o.getClass().getDeclaredMethods(); //打印method的名字,但是还可以打印很多,修饰符,参数个数,等等。。这个只打印名字 for(int i=0;i<m.length;i++){ System.out.println("第"+(i+1)+"个成员方法的名字:"+m[i].getName()); } } }输出结果:
T类型是:com.test.Bird
第1个成员方法的名字:count
第2个成员方法的名字:test