📄 testreflection.java
字号:
package com.test;
import java.lang.reflect.*;
import com.resource.*;
import java.util.*;
public class TestReflection {
public static void main(String[] args){
try{
Class c=Class.forName("com.resource.UserManager");
Package p;
p=c.getPackage();
if (p!=null)
System.out.println("package:"+p.getName());
Field[] ff=new Field[10];
ff=c.getDeclaredFields();
for (int i = 0; i < ff.length; i++)
System.out.println("fields:"+ff[i].getName());
Constructor[] cn=c.getDeclaredConstructors();
System.out.println(cn.length);
if (cn.length!=0)
{
for (int i = 0; i < cn.length; i++) {
System.out.println("Constructor:"+cn[i].getName());
}
}
else
System.out.println("no constructor");
UserManager um=new UserManager();
um.addUser(new User("111","lisa","111"));
um.addUser(new User("222","tracy","222"));
um.addUser(new User("333","tom","333"));
Method[] mm=c.getDeclaredMethods();
for (int i = 0; i < mm.length; i++) {
System.out.print("method"+i+": methodName-"+mm[i].getName()+" returntype-"+mm[i].getReturnType()+" ");
Class[] cx= mm[i].getParameterTypes();
for (int j = 0; j < cx.length; j++)
System.out.print("parameterType-"+j+"-"+cx[j].getName()+" ");
System.out.println();
if (mm[i].getName().equals("searchUserByNameUnExactly"))
{
String arg=new String("t");
Object r=mm[i].invoke(um,arg);
Iterator it=((ArrayList)r).iterator();
while(it.hasNext())
{
User ut=(User)(it.next());
System.out.println("@@@"+ut.getId()+" "+ut.getName()+" "+ut.getPassword());
}
}
}
}catch(ClassNotFoundException e){System.out.println("Class not found");}
catch(InvocationTargetException e){System.out.println("Invocation Target Exception");}
catch(IllegalAccessException e){System.out.println("Illegal Access Exception");}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -