У меня есть следующий класс:
public abstract class A
{
public abstract String doSomething(String X, String Y);
public static String doSomething(String X, String Y){return X + Y;}
...
}
У меня проблема в том, что статические и абстрактные doSomething()
методы кажутся дублирующими. Я подумал, что это должно быть хорошо, потому что статический метод принадлежит классу, а не экземпляру класса, поэтому я собирался использовать абстрактный метод для принудительного применения метода во всех подклассах и статический метод в качестве помощника, чтобы у меня было приятно факторированный код.
Я знаю, что мог бы, вероятно, добавить интерфейс в микс, но я не совсем понимаю, что не так с моими абстрактными и статическими методами, существующими в одном классе. Что с этим не так?