私のコーディングでは、Singleton
class withを使用しSingleton Design Pattern
ます。そのサブクラスがデフォルトのコンストラクターの使用を許可されていないのはなぜですか?
コンパイル時エラーが発生します:
Implicit super constructor Singleton() is not visible. Must explicitly invoke another constructor
Singleton.java
public class Singleton {
private static Singleton singleton;
private Singleton() {
System.out.println("I am user class");
}
public static Singleton getInstance() {
if(singleton == null) {
singleton = new Singleton();
}
return singleton;
}
}
サブクラス.java
public class SubClass extends Singleton {
public SubClass(){
System.out.println("I am sub class");
}
}