黑马程序员技术交流社区
标题:
反射的基础---Class类
[打印本页]
作者:
路途
时间:
2015-7-12 20:01
标题:
反射的基础---Class类
反射的基础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等等
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2