一道JAVA编程题 为什么输出会是0 1 11?

这题考得很复杂。注意,子类有重写了父类的add方法 先调用子类构造方法,走的super,进入父类的构造方法,对父类进行初始化,此时父亲的a就为10;父类构造方法中有add,调用了子类的add方法(重写)。此时,子类的a只进行了默认初始化,打印出0,再a++,打印出1。好了到这时,父类的构造方法走完...
一道JAVA编程题 为什么输出会是0 1 11?
这题考得很复杂。注意,子类有重写了父类的add方法
先调用子类构造方法,走的super,进入父类的构造方法,对父类进行初始化,此时父亲的a就为10;父类构造方法中有add,调用了子类的add方法(重写)。此时,子类的a只进行了默认初始化,打印出0,再a++,打印出1。好了到这时,父类的构造方法走完了,开始对子类进行初始化了,此时子类的a进行显示初始化变为了11。至此子类初始化完毕
现在懂了吗2017-03-14
public Demo(){
add();
}
初始化的时候,系统默认给出int的默认值02017-03-14
mengvlog 阅读 7 次 更新于 2025-07-19 04:57:27 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部