class A{
public int i=0;
A(int m){
i=1;
}
}
public class B extends A{
B(int m){
i=2;
}
}
public static void main(String args[]){
B b=new B(100);
System.out.println(b.i);
}
![](https://profile-avatar.csdnimg.cn/be0d7efaaae34878a86538ae7ba42bf7_m0_65978752.jpg!4)
代码的输出结果为什么是2
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 於黾 2022-06-15 14:00关注
B继承A,先执行A的构造函数,然后执行B的构造函数
B的构造函数里把i赋值成2了
那不输出2输出什么
而且你的classB里并没有把m向上传递,也就是类A执行的是默认的无参构造函数,有参构造函数不执行解决 1无用
悬赏问题
- ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
- ¥50 paddleocr带斜线的0很容易识别成9
- ¥15 电子档案元素采集(tiff及PDF扫描图片)
- ¥15 flink-sql-connector-rabbitmq使用
- ¥15 zynq7015,PCIE读写延时偏大
- ¥15 使用spss做psm(倾向性评分匹配)遇到问题
- ¥20 vue+UEditor附件上传问题
- ¥15 想做个WPS的自动化代码,不知道能做的起不。
- ¥15 uniApp,生成安卓安卓包后,黑暗主题中间内容不生效,底部导航正常
- ¥15 斯坦福自动漂移非线性模型反解