------- android培训、java培训、期待与您交流! ----------
-->>反射:把Java类中的各种成分映射成相应的Java类。
反射中的各种类:
1、Constructor类(代表某个类的构造方法)
2、Field类(代表成员变量(字段)的反射)
3、Method类(代表某个类中的一个成员方法)
九个预定义的Class:
1)包括八种基本类型(byte、short、int、long、float、double、char、boolean)的字节码对象和一种返回值为void类型的void.class。
2)Integer.TYPE是Integer类的一个常量,它代表此包装类型包装的基本类型的字节码,所以和int.class是相等的。(基本数据类型的字节码都可以用与之对应的包装类中的TYPE常量表示 )
【】数组类型的Class实例对象,可以用Class.isArray()方法判断是否为数组类型的。
Class中的方法:
1、static Class forName(String className)
---> 返回与给定字符串名的类或接口的相关联的Class对象。
2、Class getClass()
---> 返回的是Object运行时的类,即返回Class对象即字节码对象
3、Constructor getConstructor()
---> 返回Constructor对象,它反映此Class对象所表示的类的指定公共构造方法。
4、Field getField(String name)
---> 返回一个Field对象,它表示此Class对象所代表的类或接口的指定公共成员字段。
5、Field[] getFields()
---> 返回包含某些Field对象的数组,表示所代表类中的成员字段。
6、Method getMethod(String name,Class… parameterTypes)
---> 返回一个Method对象,它表示的是此Class对象所代表的类的指定公共成员方法。
7、Method[] getMehtods()
--->返回一个包含某些Method对象的数组,是所代表的的类中的公共成员方法。
8、String getName()
---> 以String形式返回此Class对象所表示的实体名称。
9、String getSuperclass()
---> 返回此Class所表示的类的超类的名称
10、boolean isArray()
---> 判定此Class对象是否表示一个数组
11、boolean isPrimitive()
---> 判断指定的Class对象是否是一个基本类型。
12、T newInstance()
---> 创建此Class对象所表示的类的一个新实例。