A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 路途 中级黑马   /  2015-7-12 20:01  /  212 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

反射的基础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等等


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马