Я понимаю, что ни абстрактный класс, ни интерфейс не могут содержать метод абстрактный и статический из-за проблем с неоднозначностью, но есть ли способ обхода?
Я хочу иметь либо абстрактный класс, либо интерфейс, который предусматривает включение статического метода во все классы, которые расширяют/реализуют этот класс/интерфейс. Есть ли способ сделать это на Java? Если нет, это может быть моей последней каплей с Java...
РЕДАКТИРОВАТЬ 1: Контекст этой проблемы состоит в том, что у меня есть куча классов, назовите их Stick, Ball и Toy на данный момент, у которых есть куча записей в базе данных. Я хочу создать суперкласс/интерфейс под названием Fetchable, для которого требуется статический метод getFetchables()
в каждом из нижележащих классов. Причина, по которой методы в Stick, Ball и Toy должны быть статичными, заключается в том, что они будут разговаривать с базой данных для извлечения всех записей в базе данных для каждого класса.
РЕДАКТИРОВАТЬ 2: Тем, кто говорит, что вы не можете делать это на любом языке, это не так. Вы, безусловно, можете сделать это в Ruby, где методы класса наследуются. Это не случай, когда кто-то не получает OO, это случай отсутствия функциональности на языке Java. Вы можете попытаться утверждать, что вам никогда не нужно наследовать статические (класс) методы, но это совершенно неправильно, и я проигнорирую любые ответы, которые делают такие моменты.