预测以下程序的输出。请注意,foo()在base中是公共的,而在派生中是private的。
class Base {
public void foo() { System.out.println("Base"); }
}
class Derived extends Base {
private void foo() { System.out.println("Derived"); }
}
public class Main {
public static void main(String args[]) {
Base b = new Derived();
b.foo();
}
}
(A)基地
(B)派生
(C)编译器错误
(D)运行时错误答案: (C)
说明:赋予对派生类函数更多的限制访问权是编译器错误,该派生类函数将覆盖基类函数。
这个问题的测验