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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯伟 中级黑马   /  2012-9-29 13:35  /  1838 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问图上 X.class  中的class是什么意思?看起来像是一个类的静态属性,但超类Object中却没有定义

0.PNG (78.56 KB, 下载次数: 104)

0.PNG

评分

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

查看全部评分

4 个回复

倒序浏览
class毕老师自己看,看看毕老师怎么讲的,是王道!!!
回复 使用道具 举报
首先说,你练习的是反射中的关于怎么得到该类字节码的练习
如果你知道这一点的话,我觉得你是还不太明白什么是反射,那说一下我的理解

在java中有很多类,比如Person,Demo,甚至是Object……这些类都有成员,java是一种面向对象的思想,所以说把java中的成员封装称了类,这个类里边有:字节码(每个类都有自己的字节码),成员变量和成员属性

所以说你问的.class是在反射里边
回复 使用道具 举报
这个xxx.class 就是java这么规定的,xxx.class返回的是xxx类的字节码对象,Class类的对象不能自己去创建,也就是说不能够自己去new对象,还有其他两种方式可获取Class对象实例,(相应类的对象.getClass()和用Class.forName("类的全名"))这样都能得到Class对象。至于xxx.class就是一个格式,就相当于数组.length属性差不多。你能找到length属性吗,描述数组的类都没有吧。现在我们都是初学者,现在知道xxx.class是获取到相应类的字节码对象就行了。
回复 使用道具 举报
Class是一个类,是对java中的类的一个描述。
获得字节码的方式有三种:
1.通过类名直接获得比如 Class clazz = String.class;
2.通过某个类的实例对象的方法获得   String str;   Class clazz = str.getClass();
3.最后一种也是在框架中用的最多的一种,也就是通过一个类的名称来获得(字符串)
Class  clazz = Class.forName("java.lang.String");
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马