1

これは、最近のインタビューで私に尋ねられた質問でした. 私によると、シングルトン オブジェクトをインスタンス化できるのはシングルトン パターンです。しかし、私が正しいかどうか知りたいです。

4

3 に答える 3

2

そうです、シングルトン デザイン パターンを使用してシングルトン オブジェクトをインスタンス化します。

SingleObject クラスは、静的インスタンスを外の世界に取得する静的メソッドを提供します。SingletonPatternDemo では、デモ クラスは SingleObject クラスを使用して SingleObject オブジェクトを取得します。ソース

ここに画像の説明を入力

コードは次のようになります。

public class SingleObject {

    //create an object of SingleObject
    private static SingleObject instance = new SingleObject();

    //make the constructor private so that this class cannot be
    //instantiated
    private SingleObject() {
    }

    //Get the only object available
    public static SingleObject getInstance() {
        return instance;
    }

    public void showMessage() {
        System.out.println("Hello World!");
    }
}

SingleObject クラスを呼び出すには:

public class SingletonPatternDemo {

    public static void main(String[] args) {
        //illegal construct
        //Compile Time Error: The constructor SingleObject() is not visible
        //SingleObject object = new SingleObject();

        //Get the only object available
        SingleObject object = SingleObject.getInstance();

        //show the message
        object.showMessage();
    }
}

そのため、Singleton Design Pattern は、Singleton オブジェクトの使用方法を説明しています。ウィキリンク

実際、シングルトンは変装したグローバル変数であることに注意してください。したがって、シングルトンは非推奨と見なされます。

于 2016-06-10T13:24:38.070 に答える