首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java面试 >

继承时子类父类内存有关问题

2012-06-14 
继承时子类父类内存问题Public class Base {inta;public Base(){a5;}public void sh0W(){sys…println(a);

继承时子类父类内存问题
Public class Base {
int a; 
public Base(){
a=5;}
public void sh0W(){
sys…println(a);}

public class Sub extends Base{
pub乚ic Sub(){a=9;}


public class Test{
…main(…){
parent p=new parent();
sub s=neW sub();
p.shoW();
s.sh0W();
结果为什么不是9,9啊?创建子类时不是已经把父类的a=5变成a=9了吗

[解决办法]
你new parent()和new sub()的时候分别在内存的堆空间分配了两块区域,这两块区域分别存有a这个成员变量和它的值,不是你理解的那样子类把父类的成员变量的值覆盖。

热点排行