Java面试题18 牛客 假定Base b = new Derived(); 调用执行b.methodOne()后,输出结果是什么?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
首先看到这道题,我们先看一下评论
可以的,你南我也南
打开工具,不多说
class Base
{public void methodOne(){System.out.print("A");methodTwo();}public void methodTwo(){System.out.print("B");}
}class Derived extends Base
{public void methodOne(){super.methodOne();System.out.print("C");}public void methodTwo(){super.methodTwo();System.out.print("D");}
}
public class test{public static void main(String[] args){Base b = new Derived();b.methodOne();}
}
运行结果
public void methodOne()
{
System.out.print("A");
methodTwo();//调用的是子类的methodTwo方法,而子类的又有super关键字,所以先调用父类的methodtwo方法,此时先输出的是B,然后输出D
}
最后执行完print(“C”)
答案C
我是歌谣,如果有不合理之处,欢迎指出,期待与你一起成长。
阅读目录(置顶)(长期更新计算机领域知识)
阅读目录(置顶)(长期更新计算机领域知识)
阅读目录(置顶)(长期科技领域知识)
歌谣带你看java面试题