我有一个这样的数据库连接类(简化):
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 变体,它们的主要区别仅在于设置(不同的数据库)。所以我想把SQL变成一个抽象类,只覆盖两个继承类中的构造函数。但据我所知,不可能有一个抽象的私有构造函数!?那么如何将类 SQL 更改为抽象类呢?
谢谢,我希望有人能理解问题:)