Java 基于SCJP(考试310-065)课程的疑问
在上面的程序中,我猜输出一定是Java 基于SCJP(考试310-065)课程的疑问,java,constructor,scjp,Java,Constructor,Scjp,在上面的程序中,我猜输出一定是BD,但在书中他们说编译失败。有人能解释一下吗?需要派生类Bottom2使用super调用基类构造函数,否则会出现编译错误。例如,如果您这样做,它将编译: class Top{ public Top(String s){System.out.print("B");} } public class Bottom2 extends Top{ public Bottom2(String s){System.out.print("D");} public
BD
,但在书中他们说编译失败。有人能解释一下吗?需要派生类Bottom2
使用super
调用基类构造函数,否则会出现编译错误。例如,如果您这样做,它将编译:
class Top{
public Top(String s){System.out.print("B");}
}
public class Bottom2 extends Top{
public Bottom2(String s){System.out.print("D");}
public static void main(String args[]){
new Bottom2("C");
System.out.println(" ");
} }
请参阅。使用
super
调用基类构造函数需要派生类Bottom2
,否则会出现编译错误。例如,如果您这样做,它将编译:
class Top{
public Top(String s){System.out.print("B");}
}
public class Bottom2 extends Top{
public Bottom2(String s){System.out.print("D");}
public static void main(String args[]){
new Bottom2("C");
System.out.println(" ");
} }
请参阅。当您有公共Top(字符串s)时,java不会创建没有参数的默认构造函数;当您编写子类时,构造函数会查找默认构造函数(因为您没有显式调用)。。。然后编译失败。当您有公共Top(字符串s)时,java不会创建没有参数的默认构造函数;当您编写子类时,构造函数会查找默认构造函数(因为您没有显式调用)。。。然后编译失败。您是否尝试自己编译程序以查看?您是否尝试自己编译程序以查看?