Java对象与Java对象引用的区别

Java对象与Java对象引用的区别

Java中创建对象和创建对象引用,分别会在内存中的不同位置分配空间。
创建对象时,在堆内存中分配一块空间,存放该对象。而在创建对象引用时,则会在方法栈空间中分配,且分配的空间中并无内容。

例:
FighterPlane fp; 与
new FighterPlane(); 的区别在于,前者只是在方法栈空间中分配了一块空间,空间内并无内容,且无实际意义;而后者在堆内存中分配了一块空间用以存放对象内容。
而只有当fp被赋值,即语句FighterPlane fp = new FighterPlane()时,fp所属的内存空间才有了内容,即对象的地址值(类似于C++的指针),也才有了实际意义。从此fp与该对象关联,通过fp即可操控该对象。

Java对象的创建与C++对象创建的区别
两者的区别在于,同样的语句,在C++中创建的是对象,而在Java中创建的是对象引用。

例:
语句 FighterPlane fp;
在C++中创建了名为fp的FighterPlane 类对象,而在Java中只是创建了一个FighterPlane 类的对象引用,并无实际意义。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值