2016-05-09 8 views
-1

Javaの内部クラスSingletonのスコープは何ですか? 内部にシングルトンのようなクラスを持つクラスを作成したい場合は、 ですが、外部クラスのすべてのインスタンスは内部クラスのインスタンスを持つ必要があります。 (私はそのコードの良いスタイルではないことを知っていますが、私はこの設定のためにすべてのクラスを一つにまとめる必要があります) ありがとうございます!Javaの内部クラスSingletonのスコープは何ですか?

+1

次に、シングルトンではありません。それは悪い考えではありません。シングルトンの正当な理由はありません。 – duffymo

+0

これは、悪いデザインからの悪い考えのようです。たぶんあなたは一歩踏み込んで、あなたが解決しようとしている**本当の**問題の周りに他の方法を見つけようとします。そして、正確に言えば:これは**悪いコード**スタイル**についての** **ではない、それは悪い**デザイン**です。 – GhostCat

答えて

1

内部クラスをプライベートとして宣言し、外部クラスを作成するたびにインスタンスを作成すると、外部クラスのすべてのインスタンスごとに内部クラスの単一インスタンスが作成されます。

これはシングルトンパターンではありません。

何かがそうです。

public class MyOuter { 
    private MyOuter.MyInner inner; 

    public MyOuter() { 
     inner = new MyOuter.MyInner(); 
    } 

    ... 

    private static class MyInner { 
     .... 
    } 
}