黑马程序员技术交流社区
标题: .class [打印本页]
作者: The_Wizard 时间: 2013-10-7 15:03
标题: .class
本帖最后由 The_Wizard 于 2013-10-8 08:18 编辑
例如:Class cls1 = Date.class;。这个是什么语法?因为一个类名加点,然后就是跟着这个类的静态成员。而这里Date没有class这个成员,是不是?如果这是某种语法,麻烦告诉我一下这个语法的来历与实现过程。
作者: 摄影勾魂 时间: 2013-10-7 16:35
每个类被加载后,系统都会为该类生成一个对应的Class对象,通过这个对象我们就可以访问到JVM中的这个类。类名.class(例如:Person.class)是调用某个类的class属性来返回该类对应的Class对象的。当获得这个Class对象后,就可以调用Class对象中的方法来获取该对象和该类的真实信息了。多态、反射、文件配置啥的可能会涉及到。
作者: 张慧 时间: 2013-10-7 16:38
class其实不能说是一个属性,它是一个表达式,你要是用eclipse去写代码的话,就会发现.class的颜色其实是和关键字的颜色一样的。
在java语言规范中写到这样的表达式中可构造其他的表达式:字段访问,方法调用等。
class这个表达式中包含了类的名称,接口,数组或基本类型等。C.class也就代表了Class<C>,
再具体的,你可以看下网上的一些java语言规范的文档。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |