Как реализовать абстрактный класс для синглтона?
Создал абстрактный класс, но при наследовании от него вылетает ошибка, что нельзя перезаписать статический метод
А при смене
abstract
на
static
, вылетает ошибка с требованием указать результат
missing return statement public static Sql getInstance() {}
Что в данном случае указать, что нам вернет
getInstance
или как обойти ошибку со статическим методом?
Или как правильно это делается?
Как правильно указать, что
public abstract AbstractSql getInstance();
возвращает класс, который мы использовали с методом
getInstance
?
public abstract class AbstractSql {
public abstract AbstractSql getInstance();
public abstract void setConnection();
public abstract ArrayList<String> exec(String query);
}
public class Sql extends AbstractSql {
private static Sql INSTANCE;
private Sql() {}
public static Sql getInstance() {
if(INSTANCE == null) {
INSTANCE = new Sql();
}
return INSTANCE;
}
public static void setConnection() { ... }
public ArrayList<String> exec(String query) { ... }
}