日期:2014-05-20  浏览次数:20714 次

子类创建实例时调用父类构造函数的问题
子类中创建实例时
隐含的会执行super.父类名() 这个构造函数 创建实例时的数据存放方法是怎么样的?

子类实例化后 所生成的数据实际是保存在父类的内存栈中的么? 
我们对继承来的属性的操作难道是操作的父类的内存栈中的对应数据?
用程序规范好的指针由JAVA引擎来操作内存调用的模式?

分不多求高手解答

------解决方案--------------------
XXXXYYYY
比如用这样的方式来描述对象的内存,那么XXXX(蓝色部分)就是调用父类构造方法初始化的内存,YYYY(红色部分)就是子类自己初始化的扩展内存。当然,实际的内存分配可能有优化,所以不一定是这样单纯分开父类和子类区域
1 实例化后,父类的数据信息存在于父类区域的内存中(XXXX部分)
2 操作继承来的属性,就是读写父类区域的内存
3 不清楚LZ的意思
------解决方案--------------------
如果还不理解,可以简单理解为,子类生成对象时,把父类的所有信息靠了一份过来,然后再加上自己的东西。