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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 周泰良 于 2013-9-11 13:09 编辑

反射中有三种获取字节码文件的方式,其他两种都好理解,对于类名.class的这种方式我不是很理解。疑惑如下:1.老师说class是属性,一般属性名不都是大写的吗?
2.我自己定义的类和java自定义的类并没有定义class属性,怎么能调用呢?
3.我查看了Object类中也没看到class属性。
请各位达人帮忙解答下,谢谢!

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

2 个回复

倒序浏览
属性名一个单词时是小写,多个单词时第一个单词小写,其他单词首字母大写。.

“类名.class”是整体,是一个静态常量,它的值是类名所对应的Class实例。这个实例是类加载器加载.class文件的时候生成的。
你是在哪听老师说这个class是属性的,我怎么没印象。class是个关键字怎么能做变量名呢。

这是Class类的API里的说明:
“还可以使用一个类字面值(JLS Section 15.8.2)来获取指定类型(或 void)的 Class 对象。例如:
     System.out.println("The name of class Foo is: "+Foo.class.getName());”
类字面值的参考文档:
http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.8.2

回复 使用道具 举报
yangjie 发表于 2013-9-9 02:46
属性名一个单词时是小写,多个单词时第一个单词小写,其他单词首字母大写。.

“类名.class”是整体,是一 ...

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