2017-02-17 6 views
1

私はコンピュータサイエンスペーパーの過去の試験を行っていますが、ここでは少し混乱しています。デフォルトコンストラクタを置き換えるコンストラクタ?

説明は、2つの値を初期化するコンストラクタと、デフォルトのコンストラクタを置き換えるコンストラクタという2つのデータフィールドを持つクラスブックを作成することです。約)。私はそれを研究し、私の研究ノートを通過しましたが、私は彼らが何を求めているのか理解できません。私は、次のポイントは、あなたがすでに行っている同じことを意味だと思う

public Book() { 
    this(0, ""); 
} 
+0

そのコンストラクタはデフォルトのコンストラクタを置き換えます。デフォルトのコンストラクタは、クラスに他のコンストラクタがない場合にのみ存在します。 [言語仕様](https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8.9)を参照してください。 –

+0

人が試して読んでもらいたい場合は、コードを正しくインデントする必要があります。 – khelwood

+2

これはたぶん貧弱な表現です。彼らは明示的にゼロ引数を定義するよう要求しているかもしれません。 –

答えて

0

です。

1.whichは、2つのデータフィールド(も行わ)を持つデフォルトのクラスではデフォルトのコンストラクタを置き換え二つの値 2.constructor(これが何であるか全く分から)

を初期化するコンストラクタは、デフォルトコンストラクタを持ちます。このように

パラメータ化されたコンストラクタを書き込むと、デフォルトコンストラクタが置き換えられます。あなたのコードを見て、あなたはすでにパラメータ化されたコンストラクタを書いています。

1

は、ここで彼らがこのような何かをしたいと思われるコード

public class Book{ 
    //here's the two data fields 
    int pages; 
    String title; 

    public Book (int pageNum, String titleString){//here's the constructor to set the values 
    pages = pageNum; 
    title = titleString; 
    } 
} 
//so where's the other constructor that replaces the default constructor supposed to go?