博主举办了一场party,派对里供应了苹果apple和香蕉banana;
前来参加的派对人都属于派对成员类PartyMember类中的对象;
每当使用new关键字调用构造方法创建一个对象的时候需要传入实参声明该对象自己需要多少个apple和banana;
吝啬的JVM给出的默认值竟然x心x狂地都是0个?!
而慷慨的博主给出的初始值是8个apple和9个banana,并且让每个对象在创建时都要当着博主的面在非静态代码块里个吃一个apple和banana!!
现在有一个怯怯的新对象却只想要1个apple和2个banana…
到底这两个实例属性(非静态变量)的初始化过程是什么样的?
来参加party的萌新最终到底得到了几个apple和banana??
以下是实例代码的截图:(文本形式的源码在文末给出)
当调试程序单步执行的时候
进入程序入口main方法
原始状态(还未创建对象):
步骤一:创建赤裸裸的对象,获取默认值
执行第23行,
执行后便创建了一个对象
(也仅仅是创建了一个对象,但是并没有真正传入实参1和2的值,
此时:实例属性this.apple 和 this.banana均为int型数据的