黑马程序员技术交流社区
标题:
Class类和class类什么意思
[打印本页]
作者:
孔德智
时间:
2012-9-21 13:55
标题:
Class类和class类什么意思
本帖最后由 孔德智 于 2012-9-22 11:31 编辑
刚刚接触反射,他们之间是什么关系,帮举下例?
Class cls1=new Date().getClass();
Class cls2=Date.class;
Class cls3=Class.forName("java.util.Date");
类似这种我都懂了,字节码包含了一个类的所有信息
作者:
尤圣回
时间:
2012-9-21 14:00
这个还真不知道
作者:
程振
时间:
2012-9-21 14:02
对于每种类型的对象,你可以在运行时获得它的成员和类型信息,不过你得借助于JVM为你实例化的一个不可修改的java.lang.Class对象。
要获取该对象有三种方法:.class语法是其中一种
1. 通过对象的getClass()方法,前提是对象是继承Objec的引用类型t,因为getClass()是Object的方法。
如:enum E{A, B};
Class c = A.getClass();
而下面的用法是错误的
boolean b;
Class c = b.getClass(); // compile-time error
2.使用.class语法,此时只需知道类型的名字即可,不必有一个实例对象
boolean b;
Class c = b.getClass(); // compile-time error
Class c = boolean.class; // correct
3.使用Class.forName(),这种方法对引用类型和基本类型都适用
Class cDoubleArray = Class.forName("[D"); // double[].class
Class cStringArray = Class.forName("[[Ljava.lang.String;"); // [][].class
作者:
孔德智
时间:
2012-9-22 11:35
自己研究了半天明白些了 Class代表着Java类,它的实例对象就是字节码,class就是定义类的关键字,比如定义一个Person类,class Person,而Person实例对象就是某个人。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2