Почему java.sql.Statement
интерфейс, а не абстрактный класс? Какой-то высокомерный интервьюер отклонил кандидата, потому что он не знал.Почему java.sql.Statement интерфейс, а не абстрактный класс?
ответ
Может быть, потому, что автор решил, что не нужно было внедрять какие-либо методы.
Потому что нет ничего , которые могут быть предоставлены в качестве реализации по умолчанию, который будет работать с любой базы данных двигателя мир знает.
Pretty much Statement - это скелетный класс (интерфейс), чтобы разработчики драйверов баз данных знали, что им нужно реализовать, когда они implements
Заявление.
В рамках JDBC APIStatement
не может быть абстрактным, поскольку не было каким-либо образом они могли бы иметь «по умолчанию» реализации, которые могут варьироваться всех баз данных.
Немного педантичный, но я бы не описал интерфейс как «класс скелета». Разумеется, абстрактный класс больше похож на скелетный класс? – Jim 2010-11-26 13:19:40
Трудно сказать. Они могли бы сделать это манекеном abstract class
, который почти ничего не сделал бы. Делая это, он сделает все реальные реализации неспособными расширить какой-либо другой класс. С другой стороны, interface
настолько чище.
- 1. Почему RecyclerView.OnScrollListener - это не интерфейс, а абстрактный класс?
- 2. Почему IDisposable - это интерфейс, а не абстрактный класс?
- 3. Абстрактный класс, класс, интерфейс
- 4. абстрактный класс или интерфейс
- 5. Интерфейс, абстрактный класс и реализация
- 6. Интерфейс Java, расширяющий абстрактный класс?
- 7. Java - абстрактный класс и интерфейс
- 8. Интерфейсы (интерфейс/абстрактный класс) не являются абстракциями?
- 9. Атрибут, интерфейс или абстрактный класс
- 10. Интерфейс Java и абстрактный класс
- 11. Gson сериализовать интерфейс/абстрактный класс
- 12. Java абстрактный класс реализует интерфейс
- 13. Интерфейс, протокол и абстрактный класс
- 14. абстрактный класс, определяющий интерфейс наблюдателя
- 15. чистый абстрактный класс и интерфейс
- 16. Почему абстрактный класс и интерфейс не могут быть созданы?
- 17. Когда только абстрактный класс, но не интерфейс
- 18. Java: Iterator, Iterable - интерфейс или абстрактный класс?
- 19. Почему требуется абстрактный класс?
- 20. интерфейс Java и абстрактный класс выпуск
- 21. Абстрактный интерфейс
- 22. Концептуальная разница: Полностью абстрактный класс v. Интерфейс
- 23. C# единство дженерики интерфейс и абстрактный класс
- 24. Абстрактный класс, который реализует Runnable в интерфейс
- 25. PHP использует абстрактный класс или интерфейс?
- 26. Интерфейс, абстрактный класс или другой подход java
- 27. Почему интерфейс или абстрактный класс полезны? (или для чего?)
- 28. Почему нам нужен интерфейс, когда у нас есть абстрактный класс?
- 29. Абстрактный класс и интерфейс в C#
- 30. Унаследованный интерфейс if Unimplemented = Абстрактный класс?
Этот «высокомерный» интервьюер также искал в Интернете и нашел вопрос онлайн и ответ (который он/она не знал вначале). Просто гадать .... – 2010-11-26 13:14:44