对象和对象实例

对象和实例有什么区别?

对象和实例从宏观的角度看,区别是:对象是同类事物的一种抽象表现形式,而实例是对象的具体化,一个对象可以实例化很多实例,对象就是一个模型,实例是照着这个模型生产的最终产品。实际上就是这样,一个对象可以实例化N个实例。就像根据一个模型可以制造多个实例的产品一样。
从内存分配的角度来看,对象是保存在堆中的,而实例是存储中栈中的,实例其实只是对象的一个引用,也就是指向对象的指针。

 

 

举个形象的例子。肯德基里有鸡翅膀。假设你去麦当劳买鸡翅膀,那菜单上的鸡翅膀就是鸡翅膀类,架子上的鸡翅膀们呢是鸡翅膀对象,而你啃到的那个鸡翅膀,就是鸡翅膀实例。
Class   鸡翅膀
        鸡翅膀   炸鸡翅     (对象)
        鸡翅膀   炸鸡翅   =   new   一个炸鸡翅   (一个炸鸡翅就是对象的实例,同时也是一个对象)

 

 

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

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

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

 

 

 

 

对象是指创建在堆栈中的引用名
实例是指创建在堆中的类的具体一个表现

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

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

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

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

转载于:https://www.cnblogs.com/291099657/archive/2008/09/13/1290331.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值