为什么子类的构造器中,初始化参数时,super(i)会使结果为零???

发布网友 发布时间:2022-04-24 09:50

我来回答

2个回答

热心网友 时间:2023-10-09 13:07

调用super(i)的话,会给父类的 i 赋值,但本类的 i 没有赋值,即会初始化为0。
因为父类与子类都有一个私有的 i,互不影响。追问子类中删除geti()方法后,为什么这个结果是1,如果这样的话,是不是调用子类构造器的时候,也初始化父类的构造器呢???

追答你的程序存在错误,主方法中的wo.setRen()方法没有定义,我无法验证删除geti()产生的结果;
后一个问题:子类构造时,如果构造器中没有显式调用父类构造方法时,默认会调用父类的无参构造器。
完毕。

热心网友 时间:2023-10-09 13:08

super(i)这是调用父类的构造器的方法追问子类中删除geti()方法后,为什么这个结果是1,如果这样的话,是不是调用子类构造器的时候,也初始化父类的构造器呢???

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com