1

そのような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 を抽象クラスに変更するにはどうすればよいでしょうか?

ありがとう、誰かが問題を理解してくれることを願っています:)

4

2 に答える 2