У меня этот вопрос для домашней работы, и я не уверен, как ответить на него. Не могли бы вы мне помочь?Почему не все классы Java имеют интерфейсы?
ответ
Для любого вопроса «почему бы и нет ...», хорошо подумать «что произойдет, если ...». В этом случае: что произойдет, если для каждого класса Java необходим интерфейс? Как это изменит существующие API? Как это изменит ситуацию для людей, создающих новые классы? Любые проблемы, возникающие при ответе на эти другие вопросы, могут быть ответом на ваш первоначальный вопрос.
Спасибо, что были более конструктивными, чем другие ответы. Это было гораздо более полезно. – ashamadelion
Это не имеет никакого смысла. Каким будет интерфейс для String
или Date
?
Для String charAt(), indexOf() и т. Д. - все, чтобы я мог создать свою собственную (скажем) ASCII-строку - String является окончательной, поэтому вы действительно искалечены в том, что вы можете с ней сделать. Для даты, ну, 95% этого класса официально устарели в эти дни, что говорит мне о том, что небольшая гибкость реализации могла бы быть приятной. :-) – Ken
Возможно, вопрос направлен на разнице между общей концепцией от интерфейса к классу или модулем и языковой конструктом Java интерфейса (в том смысле, что все классы действительно есть интерфейсы, но дон» t реализовать интерфейс).
Мы здесь не для того, чтобы делать домашнее задание. Но если вы ответили на предыдущий вопрос - что касается интерфейсов, вы можете легко ответить на этот вопрос.
Ответьте учителю, что это потому, что для каждого класса нет никакого интерфейса. Если он спрашивает вас «почему?», Ответьте ему: представьте, что бы это было, если бы каждый человек на земле должен был обладать навыками разработки программного обеспечения, силы, чтобы подняться на горные вершины, tehnique, чтобы управлять лыжами, имеют солидные мнения в политических дискуссий и уметь рисовать как Пикассо ... аах .. :) не говоря уже о том, чтобы говорить КАЖДОЙ ЯЗЫК НА ЗЕМЛЕ.
Бьюсь об заклад, будут люди, которые будут спорить со мной о том, что не так в каждом человеке на земле, имеющем все эти способности, но это сделает наши ответы вне темы. Так что лучше не спорить. По крайней мере, не здесь :)
Мне понравился этот ответ, спасибо. – ashamadelion
«Так что лучше не спорить». Я не согласен :-) –
Другой способ понять этот вопрос - посмотреть на случаи/ситуации, когда используются интерфейсы. И спросите себя, какие последствия потребует интерфейс? Рассмотрим пример «Создание потоков». Вы можете создать его, расширив класс Thread или внедряя интерфейс Runnable. Интерфейсы в этом случае решают проблему множественного наследования. Какие проблемы будет реализовывать интерфейс «всегда» для решения/создания?
- 1. Интерфейсы и классы JAVA
- 2. Почему интерфейсы Java имеют реализации методов?
- 3. абстрактные классы и интерфейсы Java
- 4. Почему статические классы не реализуют интерфейсы?
- 5. Почему абстрактные классы в Java имеют конструкторы?
- 6. Почему интерфейсы JDBC имеют объекты
- 7. Почему интерфейсы не действуют как классы?
- 8. Почему классы Java Wrapper не имеют конструкторов no-arg?
- 9. Почему мои классы CSS не имеют эффекта
- 10. Почему интерфейсы не могут иметь конструктор, но абстрактные классы имеют конструктор
- 11. Почему нужны интерфейсы Java?
- 12. Вложенные классы и реализующие интерфейсы в java
- 13. Swift, интерфейсы и абстрактные классы
- 14. Спецификация Java и ее API (интерфейсы + классы)
- 15. Proguard поддерживает все интерфейсы java
- 16. Создание .swc - почему не работают интерфейсы, когда классы выполняются?
- 17. Почему не все классы System.Web.UI.WebControl со свойствами Text реализуют ITextControl?
- 18. классы и интерфейсы в Typcript
- 19. Почему некоторые API-интерфейсы предоставляют в основном интерфейсы, а не классы?
- 20. Частичные классы и интерфейсы
- 21. Java Instantiate Все Классы
- 22. Почему диаграммы классов не включают все классы?
- 23. Почему классы C++ не имеют спецификаторов доступа, таких как классы на Java?
- 24. Интерфейс наследует другие интерфейсы не Классы?
- 25. Почему XmlSerializer сериализует абстрактные классы, но не интерфейсы?
- 26. Почему классы массивов не имеют каких-либо полезных методов?
- 27. Почему я не могу запускать все классы java?
- 28. NetworkInterface.getNetworkInterfaces() не перечисляет все интерфейсы
- 29. Интерфейсы/Классы/Объекты и наследование
- 30. Зачем создавать абстрактные классы и интерфейсы?
Пожалуйста, размещайте больше контекста. Если это все, что дал вам ваш профессор, это довольно плохо поставленный вопрос. – dsimcha
Нет, это не вопрос, который у вас есть. –
Это ТОЧНО вопрос, который я получил, НЕТ контекста, и я не знаю, что сказать. Предыдущий вопрос: «Укажите важность интерфейса Java». – ashamadelion