`
dreamstone
  • 浏览: 288513 次
  • 来自: ...
文章分类
社区版块
存档分类

对象与实例的区别

阅读更多
这真是个无聊的话题,在之前我一直以为这是一件事情的两个叫法,到后来看 <<精通EJB>>一书,书中对这两个的概念明显是有些区别的,于是开始搜索一下。找了很多地方都没有答案,同时发现这个问题也不只是我一个人的问题,很多地方都在讨论。例如这些地方
http://forum.java.sun.com/thread.jspa?threadID=654144&messageID=3845005
http://www.geekinterview.com/question_details/17747

而且很多地方有对象实例  instance of object 的写法。真是让人迷惑啊。
查了一些资料,经过分析,现在觉得这个结论还是比较容易让人理解:
类-->对象-->实例
人类是类
某个人是对象
你是实例
实例本身也是对象。

表现出来是这样的
String 类
String str   str是对象
String str = "abc";  "abc"是实例,也是对象.
这样也能解释instance of object这种说法  str的实例是"abc"

暂时先这么理解,希望有人能提出更好的理解方法和见解。。。

分享到:
评论
2 楼 hanmo110 2009-02-21  
楼上请问,你说的对象与引用有什么区别?String s,创建了一个引用s?也可以说创建了一个对象s?
1 楼 gfrank119 2008-08-17  
对象是指创建在堆栈中的引用名
实例是指创建在堆中的类的具体一个表现

一般我们讲申明一个对象,创建一个实例

申明一个对象就像String s;,只是一个空的没有引用的变量名

创建一个实例就是调用类的构造器 new ClassConstrutor();,在内存中分配了具体空间,但并没有把它赋给任何一个引用,所以你不能调用到它

将2者结合起来才是一个完整的对象创建过程。
String s = new String();
(把具体实例地址存放在对象中)

相关推荐

Global site tag (gtag.js) - Google Analytics