Class类
类是对象,是java.lang.Class类的实例对象。
Full full1=new Full();Full这个类也是一个实例对象。
以下是三种表示方式
Class c1=Full.class;
Class c2=full1.getClass();
Class c3=null;
c3=Class.forName("带包名的类名");
c1,c2表示Full类的类类型,类也是对象,是Class类的实例对象,这个对象称为该类的类类型。
通过类的类类型创建该类的对象实例,如下
Full full=(Full)c1.newInstance();
动态加载类
通过new方式创建对象,是静态加载类,编译时刻就要加载所有的类。
Class c=Class.forName(args[0]);
Office o=(Office)c.newInstance();(Office为接口)
o.start;
获取方法信息
Method类是方法对象,一个成员方法就是一个Method对象。
getMethods()方法获取的是所有的public函数,包括父类的。
getDeclaredMethods()方法获取的是所有该类自己声明的函数。
获取成员变量构造函数信息
成员变量也是对象,java.lang.reflect.Field类封装了关于成员变量的操作。
getFields()方法获取的是所有的public的成员变量的信息。
getDeclaredFields获取的是该类自己声明的成员变量信息。
获取构造函数信息
构造函数也是对象,java.lang.Constructor中封装了构造函数的信息。
getConstructors获取了所有的public的构造函数。
getDeclaredConstructors得到所有的构造函数。
网友评论