简单介绍一些类和接口的用法:
1)Member成员是一种接口,反映有关单个成员(字段或方法)或构造方法的标识信息
2)InvocationHandler是代理实例的调用处理程序实现的接口(这个接口的具体用法等到java反射机制剖析4着重介绍)
3)Method提供一个类的方法的信息以及访问类的方法的接口。
示例:
- import java.lang.reflect.Method;
-
- public class TestMethod {
-
- /**
- * @param args
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- Class classType=Class.forName(args[0]);
- Method methods[]=classType.getDeclaredMethods();
- for(int i=0;i<methods.length;i++){
- System.out.println(methods[i].toString());
- }
- }
-
- }
|
4)Filed提供一个类的域的信息以及访问类的域的接口。
示例:
- import java.lang.reflect.Field;
-
-
- public class TestField {
-
- /**
- * @param args
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- Class classType=Class.forName(args[0]);
- Field[] fields = classType.getFields();
- for(int i=0;i<fields.length;i++){
- System.out.println(fields[i].toString());
- }
- }
-
- }
|
5)Array类提供了动态创建和访问Java数组的方法。
示例:
- import java.lang.reflect.Array;
-
-
- public class TestArray {
-
- public TestArray(){
-
- }
- /**
- * @param args
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
-
- Class<?> classType = Class.forName("java.lang.String");
-
- Object array = Array.newInstance(classType, 10);
-
- Array.set(array, 5, "hello");
-
- String s = (String)Array.get(array, 5);
- System.out.println(s);
-
- }
-
- }
|
6)Proxy提供动态地生成代理类和类实例的静态方法(这个方法在java放射机制剖析4着重介绍)。
其余的类和接口的使用方法详见API