Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于SCJP(考试310-065)课程的疑问_Java_Constructor_Scjp - Fatal编程技术网

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不会创建没有参数的默认构造函数;当您编写子类时,构造函数会查找默认构造函数(因为您没有显式调用)。。。然后编译失败。

您是否尝试自己编译程序以查看?您是否尝试自己编译程序以查看?