java 成员对象 丢失_JAVA继承问题。一般成员和对象的问题,求大神解答!多谢。...

class Fu

{

Fu()

{

super();

System.out.println("进入父类构造器!");

this.show();//1.这个show的运行结果是:子类 show 重写!0,num的值是0.

return;

}

void show()

{

System.out.println("重写!");

}

}

class Zi extends Fu

{

int num = 8;

Zi()

{

super();

//-->通过super初始化父类内容时,子类的成员变量并未显示初始化。等super()父类初始化完毕后,

//才进行子类的成员变量显示初始化。

System.out.println("进入子类构造器!"+num);//2.这个num的值是8.

return;

}

void show()

{

System.out.println("子类 show 重写!"+num);

}

}

class ExtendsDemo

{

public static void main(String[] args)

{

new Zi();

}

}

//能不能理解成这样,在运行父类构造函数之前,子类成员已经默认初始化值为0了;

//如果是这样,那么我无法理解底下这个代码,如果是对象那么在调用父类构造函数之前,

//他默认初始化是什么样子的。究竟有没有默认初始化

class X {

X() {

show();//父类show

System.out.println("父类构造函数show完成");

}

//*

void show(){

System.out.println("打酱油");

}

}

class Z extends X {

Z z = new Z();//

Z() {

//super

show();//子类show

System.out.println("子类构造函数show完成");

}

//*

void show(){

System.out.println(z+"....show");

}

public static void main(String[] args) {

new Z();

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值