分析如下代码: public class Test extends A { public static void main(String[ ] args) { Test t = new Test(); t.print(); } } class A { String s; A(String s) { this.s = s; } public void print() { System.out.println(s); } }
选项:
A:程序未编译,因为测试没有默认的构造函数Test()。
B:程序有一个隐式默认构造函数Test(),但无法编译,因为它的超类没有默认构造函数。如果删除类A中的构造函数,程序将编译。
C:程序进行编译,但由于方法名打印上的冲突,它有一个运行时错误。
D:如果将默认构造函数A(){}显式添加到类A中,程序将编译。
发布时间:2024-04-03 08:31:14