要求是:
使用名为Hop的公共类创建文件Hop.java。
创建其他两个类:跳过Hop的子类和Jump跳过的子类。
在三个类的每一个中创建一个无参数的构造函数,该构造函数自行在一行上打印该类的名称(例如,使用System.out.println(“ Hop”)来打印“ 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 ");
}
}
仔细阅读问题。按照说明进行操作。试着思考这个问题的意思是要证明。