Java反射1

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得到所有的构造函数。

你可能感兴趣的:(Java反射1)