1

私は最近、このフレーズに出会いました:

"Class A has class member int a"

おそらく明らかですが、この文は単に定義されてaいることを意味しますよね?intclass A

また、たとえば、 のメソッドの下に別のものaが定義されていclass Aます。それはまだクラスのメンバーですか?クラスメンバーの明確な定義が見つかりませんでした。ここ
を見ましたが、あまり役に立ちませんでした。

助けてくれてありがとう

4

5 に答える 5

8

クラス メンバーは、静的メンバーを呼び出す別の方法です。

class A {
    int a; //instance variable
    static int b; //class variable
    public void c() {
        int d; //local variable
    }
}
于 2013-07-15T15:02:48.227 に答える
1

クラスメンバーは、クラスの単なる変数ではありません。クラス名を使用してアクセスできます。つまり、それらはそのクラスの静的変数です。

ドキュメントはそれを明確に述べました。

public class Bicycle {

private int cadence;
private int gear;
private int speed;

// add an instance variable for the object ID
private int id;

// add a class variable for the
// number of Bicycle objects instantiated
private static int numberOfBicycles = 0;

 ...
}

上記のコードの numberOfBicycles はクラス メンバーです。を使用してアクセスできます

Bicycle.numberOfBicycles

また、メソッド内の変数はそのようにアクセスできません。そのため、クラスのメンバーになることはできません。メソッド内で宣言された変数はローカル変数であり、そのメソッドに属します。したがって、それらを final と呼ぶことはできますが、static、public、protected、private とは言えません。

于 2013-07-15T15:10:40.627 に答える
1

同じドキュメント内

宣言に static 修飾子があるフィールドは、静的フィールドまたはクラス変数と呼ばれます

クラス変数は、次のようにクラス名自体によって参照されます。

Bicycle.numberOfBicycles

これにより、それらがクラス変数であることが明確になります。

于 2013-07-15T15:03:17.960 に答える