私はライブラリを開発していますが、ユーザーがnew
キーワードを使用してクラスのインスタンスを直接作成するのではなく、オブジェクトを作成するための特別なメソッドがあります。したがって、ユーザーがnew
キーワードを使用してクラスをインスタンス化すると、コンパイラーがエラーを出す可能性があります。例えば:
public class MyClass {
private MyClass(int i) { }
public MyClass createMyClassInt(int i) {
return new MyClass(i);
}
private MyClass(double d) { }
public MyClass createMyClassDouble(double d) {
return new MyClass(d);
}
}
したがって、ユーザーがインスタンス化しようとするMyClass myClass = new MyClass();
と、コンパイラーはエラーを出します。