У меня есть несколько классов Java, которые содержат статические методы. Я хочу, чтобы эти статические методы выполнялись каждым из классов. Как это сделать, поскольку объявление статических методов не допускается в интерфейсах Java?Убедитесь, что статический метод реализован
ответ
Сортировка ответа: вы не можете обеспечить это.
Статические методы не наследуются так же, как методы экземпляра, поэтому вы не сможете использовать его ни для чего значимого: вы не можете позвонить MySuperClass.staticMethod()
и ожидать, что какой-либо подкласс обработает вызов. Это означает, что вы должны называть его с помощью MySubClass.staticMethod()
, и в этом случае вы получите ошибку компиляции, если MySubClass
не реализует staticMethod
.
Я хотел бы предложить вам взглянуть на ее решение с помощью одноэлементного или заводской образец и использовать методы экземпляра:
MySuperClass.getInstance(parameter).yourMethod()
static
методы разрешены на интерфейсах Java8.
Однако не существует способа, чтобы применял класс для реализации статического метода.
Единственное, что вы можете сделать, сделать их нестатичными и abstract
(либо в интерфейсе, либо в классе abstract
).
Если у вас есть код, который вызывает эти методы, он не будет передавать компиляцию, если они не реализованы. Если вы этого не сделаете, вам это действительно не нужно.
- 1. Почему статический метод не может быть реализован?
- 2. C# заявляет, что метод интерфейса не реализован
- 3. Rspec говорит, что реализованный метод не реализован
- 4. Убедитесь, что базовый метод вызывается в C#
- 5. Убедитесь, что этот метод вызван в действии.
- 6. Остыньте, убедитесь, что асинхронный метод завершен
- 7. Убедитесь, что один статический класс создается перед другим
- 8. Убедитесь, что статический метод был вызван другим статическим методом в PowerMock
- 9. Убедитесь, что сокет закрыт.
- 10. Как ввести статический статический метод
- 11. Что такое статический метод и переменные?
- 12. Что такое статический метод Java в Ruby?
- 13. Что такое статический метод в нестационарном классе?
- 14. Что делает этот единственный статический метод?
- 15. Что такое «статический метод» на C#?
- 16. Статический класс и статический метод
- 17. Где реализован метод [modelname] _path?
- 18. Как реализован метод заполнения «Numpy»?
- 19. java.lang.AbstractMethodError: абстрактный метод не реализован
- 20. Как реализован синхронизированный метод AnyRef?
- 21. UITableViewDataSource реализован метод не называется
- 22. Netbeans Добавить метод не реализован
- 23. Ошибка: метод операции не реализован
- 24. Убедитесь, что существует DocumentFile
- 25. Убедитесь, что данные загружены
- 26. Убедитесь, что задача прерывается
- 27. Убедитесь, что URI действителен
- 28. Убедитесь, что переменная заканчивается
- 29. Убедитесь, что соединение закрыто
- 30. Убедитесь, что ACRA работает
http://stackoverflow.com/questions/512877/why-cant-i-define-a-static-method-in-a-java-interface – brso05