クラスにプライベート コンストラクターがあるとどうなるでしょうか。(ジャワ語で)
質問する
6815 次
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 に答える