1

それは初心者の質問だと思います。私はJavaとプログラミング全般に不慣れです。

静的データのみを持つクラスを取得したとします。例:

class Foo {
private static int x;  }

オブジェクトをインスタンス化せずにクラスを使用したい。だから私はできるようになりたいです:

Foo.setX(5);
Foo.getX();

このクラスを実装するための最良の方法は何ですか、私は今のところインターフェースや他のものについて少し混乱しています。

ありがとう。

4

4 に答える 4

3

シングルトンはあなたが探しているものだと思います:

シングルトン クラス:

public class Singleton {

    private static final Singleton INSTANCE = new Singleton();

    private int x;

    // Private constructor prevents instantiation from other classes
    private Singleton() {
    }

    public static Singleton getInstance() {
        return INSTANCE;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

}

コードのどこからでもアクセスするには:

int x = Singleton.getInstance().getX();
Singleton.getInstance().setX(10);
于 2010-10-19T09:15:11.180 に答える
3

静的フィールドを変更/返す 2 つの静的メソッドを定義してみませんか?

Java の静的メソッド

于 2010-10-19T09:16:28.977 に答える
2

メソッドを静的としてgetX定義するだけです。setX

class Foo
{
    private static int x; 

    public static int getX()
    {
        return x;
    }

    public static void setX(int x)
    {
        Foo.x = x;
    }
}

次に、オブジェクトをインスタンス化せずにこれを使用できます。

Foo.setX(5);
int val = Foo.getX();

他の人が示唆しているように、aSingletonはよりクリーンなアプローチですが、オブジェクトをインスタンス化しないという要件を満たしません。

http://en.wikipedia.org/wiki/Singleton_pattern

于 2010-10-19T09:24:38.973 に答える
0

静的パブリック メソッド Get および Set をいつでも使用して、必要なことを行うことができます。しかし、もう一度見てください。Singleton Pattern が必要な場合があります。

于 2010-10-19T09:17:01.300 に答える