я не писал этот Dump вопрос, который должен компилировать и был в недавнем Java 8 экзамен, и это дает мне проблемы:самосвала Java не компилировать
class Vehicle {
String type = "4W";
int maxSpeed = 100;
Vehicle (String type, int maxSpeed){
this.type = type;
this.maxSpeed = maxSpeed;
}
}
class Car extends Vehicle {
String trans;
Car(String trans) {
this.trans = trans;
}
Car(String type, int maxSpeed, String trans) {
super(type, maxSpeed);
this(trans);
}
}
class Test {
public static void main(String[] args) {
Car c1 = new Car("Auto");
Car c2 = new Car("4W", 150, "Manual");
System.out.println(c1.type + " " + c1.maxSpeed + " " + c1.trans);
System.out.println(c2.type + " " + c2.maxSpeed + " " + c2.trans);
}
}
Ответ по Dump должно быть:
4W 150 Manual
Вместо этого я получаю:
Unresolved compilation problems:
Implicit super constructor Vehicle() is undefined. Must explicitly invoke another constructor
Constructor call must be the first statement in a constructor
Что я делаю неправильно с моей стороны?
Это правильно только для 'c2', для' c1' такого конструктора нет. Удалите строки с 'c1', и все в порядке. – MaxZoom
@MaxZoom Поскольку он говорит, что это вопрос из школы. Я думаю, что он должен писать классы. Вероятно, он, вероятно, ничего не изменит в главном(). – user3437460
В этом случае должна быть напечатана две строки, но есть только одна. – MaxZoom