A a = new A()

本文详细解释了Java中创建对象的过程,包括通过`new`关键字在堆内存中分配空间,调用构造函数初始化,创建对象引用以及对象的生命周期。讨论了对象引用可以指向0个或1个对象,以及对象可能被多个引用指向的情况。还提到了对象未被引用时可能成为垃圾回收的对象。最后,举例说明了无需引用变量即可使用的临时对象。
摘要由CSDN通过智能技术生成

为便于说明,我们先定义一个简单的类: 
  class Vehicle { 
  int passengers; 
  int fuelcap; 
  int mpg; 
  } 
  有了这个模板,就可以用它来创建对象: 
  Vehicle veh1 = new Vehicle(); 
  通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。 
  1)右边的“new Vehicle”,是以Vehicle类为模板,在堆空间里创建一个Vehicle类对象(也简称为Vehicle对象)。 
  2)末尾的()意味着,在对象创建后,立即调用Vehicle类的构造函数,对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写,Java会给你补上一个默认的构造函数。 
  3)左边的“Vehicle veh1”创建了一个Vehicle类引用变量。所谓Vehicle类引用,就是以后可以用来指向Vehicle对象的对象引用。 
  4)“=”操作符使对象引用指向刚创建的那个Vehicle对象。 
  我们可以把这条语句拆成两部分: 
  Vehicle veh1; 
  veh1 = new Vehicle(); 
  效果是一样的。这样写,就比较清楚了,有两个实体:一是对象引用变量,一是对象本身。 
  在堆空间里创建的实体,与在数据段以及栈空间里创建的实体不同。尽管它们也是确确实实存在的实体,但是,我们看不见,也摸不着。不仅如此,我们仔细研究一下第二句,找找刚创建的对象叫什么名字?有人说,它叫“Vehicle”。不对,“Vehicle”是类(对象的创建模板)的名字。一个Ve

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值