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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张志阳 中级黑马   /  2012-5-9 13:30  /  2092 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么能更好的理解Class和Object两者的关系?

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
从类的层次结构上说Class还是Object的子类。从代码运行时来说Class是描述类在运行时具有的属性。来看Class的声明:class Class<T>,说明Class<>是一个类型,它的对象是一个Object类的具体子类,也就是说Class是对类的一种运行时属性的抽象

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
Class是Object的子类
首先从定义上分析
类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
Class 类的实例表示正在运行的 Java 应用程序中的类和接口
而API中也显示Class是Object的子类
其次,从Object方法中可以看出,它有一个getClass()方法,返回:表示此对象运行时类的 Class 对象

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
1类是事物实体,对象就是对实体的描述,
2类是由class加载的字节码文件,对象是字节码文件加载到内存中
3 类存在于内存的栈内存区, 对象是对类的具体描述,如有变量 方法  等具体描述, 通过new 出来,存在于堆内存区
回复 使用道具 举报
Class就是Object的子类,就像其他Object的子类一样,例如:String。
类是对象的向上抽取而来,就是描述一类对象的共同属性和方法。
而Class是对字节码这一类对象的描述,字节码有的属性和方法就成了Class的方法属性。
大师们常说“万物皆对象”
回复 使用道具 举报
哥们你就这样想,object是万类之主,class是object的子民,子民是个统称,是所有类的共同称呼,只是用来形容人的,所以叫做类名,而你要实现子民能做的事情,就得new一个实实在在的人出来,比如说 (子民(class) 人{ 人 zi=new 凤姐}),凤姐是个具体的人,她能干万类之主的事,也能干子民中的事!!明白木有?{:soso_e151:}{:soso_e151:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马