2016-06-13 9 views
0

類推として、オブジェクト内のメソッドは、オブジェクトが実生活であった場合にそのオブジェクトが取ることができるアクションを表していることを学びました。メンバ変数はオブジェクトの特性のようですか?

このことをさらに踏まえて、メンバー変数は、オブジェクトが持つ特性と等しいと結論付けました。この類推は正しいのでしょうか?

次の例では、犬は、髪色、流し速度、および速度の既知の特性で作成されますが、別のオブジェクトによって呼び出された場合は吠える機能があります。

public class Dog { 
    public String mHairColor; 
    public int mShedRate; 
    public int mSpeed; 

    public Bark { 
     // example 
    } 
} 
+0

あなたの樹皮方法は正しい構文を持っていませんが、あなたの類推に間違いはありません –

+0

あなたに教えてください。その犬の特徴は?これは、常識的な種類の質問のようです。 –

+0

はいメンバ変数はオブジェクトの特性です。 – sawyinwaimon

答えて

0

メンバー変数は、データが含まれています。比較すると、のメソッドは、オブジェクトが実行できるアクションを定義します。メンバ変数を追加することは、オブジェクトの任意のインスタンスが完了するために追加データを必要とすることを宣言することと同じです。

たとえば、「eyeColor」というクラスに別のフィールド(メンバー変数またはインスタンス変数、すべて同じ)を追加すると、すべての犬に目の色が付いている必要があります。

また、すべてのフィールドはです。デフォルトではで初期化されています。たとえば、String型のフィールドはすべて ""に初期化されます。

1

あなたの樹皮方法は小文字でなければなりません。第2に、戻り値の型、つまりvoid、String、int、などが必要です...今のところ、構文はコンストラクタの構文ですが、DogというコンストラクタはDog()と呼ばれる必要があります。下記を参照してください:はオブジェクトの状態を定義すること

public class Dog { 
    public String mHairColor; 
    public int mShedRate; 
    public int mSpeed; 

    public Dog() { 
     // example 
    } 

    public void bark() { 
     System.out.println("Woof!"); 
    } 


} 
+0

フィールドにはいくつかのデフォルト値が割り当てられているという追加のコメントが必要です –

関連する問題