そのようなdb接続のクラスがありました(簡略化):
public class SQL {
private static SQL instance = null;
private static String ADRESS;
private SQL() {
try {
// Settings
settings = Settings.getInstance();
ADDRESS = settings.getAdress;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://" + ADRESS + "...");
}
catch (SQLException e) {
throw e;
}
}
public static SQL getInstance() {
if(instance == null) {
instance = new SQL();
}
return instance;
}
public String select(...) {
// SELECT Code
}
public String update(...) {
// UPDATE Code
}
public String insert(...) {
// INSERT Code
}
}
しかし今、私はSQLの2つのバリアントが必要であり、それらは主に設定のみが異なります(異なるデータベース)。そこで、SQLを抽象クラスにして、継承した2つのクラスのコンストラクターだけを上書きしたいと思いました。しかし、私が知る限り、抽象プライベートコンストラクターを持つことは不可能です!? では、クラス SQL を抽象クラスに変更するにはどうすればよいでしょうか?
ありがとう、誰かが問題を理解してくれることを願っています:)