在java中声明构造函数时出现“缺少方法体”错误

时间:2015-01-23 14:35:27

标签: java

我不知道为什么,但是当我试图重载构造函数时,Netbeans显示错误“Missing method body或declare Abstract”..这里是类 - >

   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 
    }

2 个答案:

答案 0 :(得分:3)

好吧,如果您想要一个无参数构造函数,请为其添加一个实体:

public Car()
{
    ...
}

如果没有,只需删除public Car();行。

答案 1 :(得分:2)

即使在抽象类中,也不能抽象构造函数。

错误消息有点含糊不清,因为它会解释"您的Car()构造函数是未实现的方法。

您需要为此构造函数提供实现,即使是空构造函数也是如此。

您还可以调用super()作为Car()实施中的第一行,以调用Vehicle的空构造函数(如果提供)或Vehicle& #39;如果在Vehicle中没有声明参数化构造函数,则为默认构造函数。

示例(假设Vehicle没有声明的构造函数,或者没有参数的构造函数)

public Car() {
    super();
}

......或......

public Car() {
    // TODO
}