要求是:

使用名为Hop的公共类创建文件Hop.java。
创建其他两个类:跳过Hop的子类和Jump跳过的子类。
在三个类的每一个中创建一个无参数的构造函数,该构造函数自行在一行上打印该类的名称(例如,使用System.out.println(“ H​​op”)来打印“ Hop”类名称。
创建一个main方法(在哪里?)并创建一个Jump新实例。
编译并运行。您应该看到输出Hop,Skip和Jump均已打印为标准输出。你能解释一下吗?

我到目前为止编写的代码是:

public class Hop {
    private String name;
    public Hop(String name) {
        this.name = name;
    }
    public static void main(String args[]) {
        Jump j = new Jump("Hop", "Skip", "Jump");
        System.out.println(j);

    }
}
class Skip extends Hop {
    private String name1;
    public Skip(String name, String name1) {
        super(name);
        this.name1 = name1;
    }

}
class Jump extends Skip {
    private String name2;
    public Jump(String name, String name1, String name2) {
        super(name, name1);

        this.name2 = name2;
    }

}

最佳答案

这是问题要您执行的操作:
(该问题的目的是演示在创建子类的实例时(递归地)隐式调用所有超类构造函数。)

public class Hop {
    public Hop() {
        System.out.println("Hop");
    }
    public static void main(String args[]) {
        Jump j = new Jump();

    }
}
class Skip extends Hop {
    public Skip() {
        System.out.println("Skip ");
    }

}
class Jump extends Skip {
    public Jump() {
        System.out.println("Jump ");
    }
}


仔细阅读问题。按照说明进行操作。试着思考这个问题的意思是要证明。

10-02 03:15