-1

クラスにプライベート コンストラクターがあるとどうなるでしょうか。(ジャワ語で)

4

4 に答える 4

3

これは、(リフレクションなしで)コンストラクターがクラスの外部からアクセスできないため、他のクラスがそれを呼び出すことができないことを意味します。あなたのクラスのメンバーだけがそのオブジェクトを作成するためにベールになります。

class A{
    private A(){} //private constructor

    private static A a = new A(); //you can create A object as a field

    void test(){
        new A(); // you can create A object inside methods of your class
    }

    class Inner{ // inner classes are also members of outer class so you can use 
                 // A constructor here
        A a = new A(); //OK
        void test(){
            new A(); //OK
        }
    }
}

class B{
    A a = new A();//error: we don't have access to A constructor
}
于 2013-03-16T10:25:30.323 に答える
2

そのコンストラクターは、現在のクラス内でのみ使用できます。

于 2013-03-16T10:08:17.190 に答える
0

これは通常、このクラスからのオブジェクトの作成を制限する方法です。これは、クラスからオブジェクトを作成できないことを意味します。

于 2013-03-16T10:10:05.010 に答える
0

クラス内の他のコンストラクター、またはクラス内の静的メソッドからのみ呼び出すことができます。

于 2013-03-16T10:06:33.970 に答える