为什么在创建构造函数时我被要求返回类型?

时间:2013-10-06 16:27:19

标签: java constructor

我正在尝试创建一个类并在其中创建两个构造函数。我已经创建了它,因为我已经完成了所有以前的类和构造函数,但由于某种原因,它一直告诉我向两个构造函数添加返回类型。

我试图看看我是否创建了与之前构造函数不同的内容,但看不出任何差异。

谁能看到我在哪里出错?

public class Book {

    //instance variables
    //accessSpec type varname;
    private String title;
    private String author;
    private double price;

    //constructors
    public initialiseInstanceFields() {
        title = "";
        author = "";
        price = 0.00;
    }

    public initialiseInstanceFields(String titleIn, String authorIn, double priceIn) {
        title = titleIn;
        author = authorIn;
        price = priceIn;
    }


    //methods
    //accessSpec returntype varname(argList){}
    //return the title
    public String getTitle() {
        return title;
    }

}//end class

1 个答案:

答案 0 :(得分:3)

构造函数必须与类名具有相同的名称。 initialiseInstanceFields是一个常规方法而不是构造函数,因此需要返回类型。如果您希望将其视为构造函数,则使用类的名称重新定义它,即Book将构造函数定义更改为:

public Book()
{
    title = "";
    author = "";
    price = 0.00;
}

public Book(String titleIn, String authorIn, double priceIn)
{
    title = titleIn;
    author = authorIn;
    price = priceIn;
}