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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© The_Wizard 中级黑马   /  2013-10-7 15:03  /  2047 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 The_Wizard 于 2013-10-8 08:18 编辑

例如:Class cls1 = Date.class;。这个是什么语法?因为一个类名加点,然后就是跟着这个类的静态成员。而这里Date没有class这个成员,是不是?如果这是某种语法,麻烦告诉我一下这个语法的来历与实现过程。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 安卓26、27期已开版,请大家移步去新板块交.

查看全部评分

2 个回复

倒序浏览
每个类被加载后,系统都会为该类生成一个对应的Class对象,通过这个对象我们就可以访问到JVM中的这个类。类名.class(例如:Person.class)是调用某个类的class属性来返回该类对应的Class对象的。当获得这个Class对象后,就可以调用Class对象中的方法来获取该对象和该类的真实信息了。多态、反射、文件配置啥的可能会涉及到。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 安卓26、27期已开版,请大家移步去新板块交.

查看全部评分

回复 使用道具 举报 1 0
class其实不能说是一个属性,它是一个表达式,你要是用eclipse去写代码的话,就会发现.class的颜色其实是和关键字的颜色一样的。
在java语言规范中写到这样的表达式中可构造其他的表达式:字段访问,方法调用等。
class这个表达式中包含了类的名称,接口,数组或基本类型等。C.class也就代表了Class<C>,
再具体的,你可以看下网上的一些java语言规范的文档。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 安卓26、27期已开版,请大家移步去新板块交.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马