package LSQ;
class SuperClass{
int x;
SuperClass(){
x = 3;
System.out.println("in SuperClass:x=" + x);
}
void doSomething(){
System.out.println("in SuperClass.doSomething()");
}
}
class SubClass extends SuperClass{
int x;
SubClass(){
super();
x = 5;
System.out.println("in SubClass:x=" + x);
}
void doSomething(){
super.doSomething();
System.out.println("in SubClass.doSomething()");
System.out.println("super.x=" + super.x + " sub.x=" + x);
}
}
public class Star2{
public static void main(String[] args){
SubClass subC = new SubClass();
subC.doSomething();
}
}
这段代码的打印过程是怎样的,我是小白,恳求诸位大佬指点一下
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- qq_25376897 2021-01-25 09:51关注
执行顺序:
首先,执行入口是main方法,从这里开始执行
再看第一句,SubClass subC = new SubClass(); 会调用SubClass的构造方法
这里面又有super(); 这个是调用父类的方法,由于是在构造方法里面,所以super在这里是调用父类的构造方法,把x=3打印出来;打印完x=3,回到子类的构造方法,继续打印x=5
上面是构造方法,接下来看main里面的第2句subC.doSomething(); 同理,先调用父类的doSomething,再调用子类的doSomething。
总体的结果是这样的:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!
- ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?