反射的基础Class类
Java程序中各个Java类属于同一类事物,描述这类事物的Java类名就是Class。
如何得到各个字节码对应的实例对象三种方式:
(1)类名.class;
(2)对象.getClass();
(3)Class.forName("java.lang.String")
代码示例:
String s = "abc";
Class<?> cls = s.getClass();
Class<?> cls2 = String.class;
Class<?> cls3 = Class.forName("java.lang.String");
System.out.println(cls == cls2);
System.out.println(cls == cls3);
System.out.println(cls2 == cls3);
System.out.println(cls.isPrimitive());
输出结果:
true true true false
九个预定义的Class对象:
基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
九个预定义的Class对象特点:Int.class == Integer.TYPE
方法摘要:
forName(String className):返回与带有给定字符串名的类或接口相关联的 Class 对象。
isPrimitive():判定指定的 Class 对象是否表示一个基本类型。
总之,只要源程序中出现的类型都有各自的Class实例对象。例如:int[],void等等
|
|