关于Java中使用new关键字创建对象

关于Java中的堆和栈

栈和堆

栈存取速度比堆快而且数据可以共享,但栈中数据大小与生命周期必须确定

对象创建的过程

我们在需要使用List集合的时候通常会出现下面的语句

List list = new List();

在这条语句左边是在栈区创建一个对象的引用,就相当于告诉计算机我需要一个List类型的变量,但是我没有告诉它这个变量我要用来干什么,它的大小是多少。这时计算机只是创建了一个List集合的引用,此时没有地址只有一个名字而已。

语句右边执行的时候会字堆内存中开辟内存空间,然后由Lsit对象的引用指向该内存空间。

所以对于List,通常在代码中会有两种出现方式,一种就是上面那种通过new关键字开辟内存实现,还有就是只是申请引用,然后将其他引用赋给list对象。

由此可见,当如果只是需要从其他地方去接收一个对象的值的时候完全没有必要去实例化一个对象,只需要创建一个引用即可,既节省了内存也简化了代码。当一个对象(除基本类型)需要自己进行数据的读写一系列操作的时候就必须得实例化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值