Я не знаю почему, но когда я пытаюсь перегрузить конструктор, Netbeans показывает ошибку "Отсутствует тело метода или объявляет абстрактный".. здесь class-->
public class Car extends Vehicle{
public String mfname;
public void setmfname(String b){
this.mfname=b;
}
public Car(String name,int weight,int year,String mfname){
super (name,weight,year);
this.mfname=mfname;
}
public Car(); // this line has the error
}
Ну, если вы хотите иметь конструктор без параметров, добавьте к нему тело:
public Car()
{
...
}
Если нет, просто удалите public Car();
линия.
Конструкторы не могут быть абстрагированы даже в абстрактных классах.
Сообщение об ошибке немного неоднозначно, поскольку оно "интерпретирует" ваш конструктор Car()
как не реализованный метод.
Вам нужно будет предоставить реализацию этому конструктору, даже пустую.
Вы также можете вызвать super()
в качестве первой линии в вашей Car()
реализации для вызова Vehicle
пустого конструктора, если это предусмотрено, или Vehicle
конструктора по умолчанию, если нет параметризованного конструктора не объявлен в Vehicle
.
Примеры (при условии, что Vehicle
не имеет объявленного конструктора или не имеет значения параметра)
public Car() {
super();
}
... или...
public Car() {
// TODO
}