黑马程序员技术交流社区

标题: 反射的基础---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 类型(booleanbytecharshortintlongfloatdouble)和关键字 void 也表示为 Class 对象。
    九个预定义的Class对象特点:Int.class == Integer.TYPE
方法摘要:
    forName(String className):返回与带有给定字符串名的类或接口相关联的 Class 对象。
    isPrimitive():判定指定的 Class 对象是否表示一个基本类型。
总之,只要源程序中出现的类型都有各自的Class实例对象。例如:int[],void等等







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2