-2

クラスを作成し、その中に 2 つのコンストラクターを作成しようとしています。以前のすべてのクラスとコンストラクターを作成したので作成しましたが、何らかの理由で、2 つのコンストラクターに戻り値の型を追加するように指示され続けます。

これを以前のコンストラクターとは異なるものに作成したかどうかを確認しようとしましたが、違いはわかりません。

ここで私が間違っているところを誰かが見ることができますか?

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
4

1 に答える 1

3

コンストラクターは、クラス名と同じ名前にする必要があります。initialiseInstanceFieldsコンストラクターではなく通常のメソッドであるため、戻り値の型が必要です。コンストラクターとして扱いたい場合は、クラスの名前を使用して再定義します。つまりBook、コンストラクターの定義を次のように変更します。

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

public Book(String titleIn, String authorIn, double priceIn)
{
    title = titleIn;
    author = authorIn;
    price = priceIn;
}
于 2013-10-06T16:27:48.960 に答える