Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Объясните пожалуйста типы интерфейсов ( interface SimpleObject<T> { } ), как работают и для чего?

Zijaudin5 Ученик (17), на голосовании 1 год назад
interface SimpleObject<T> {
SimpleObject<T> getInstance();
}

static class StringObject implements SimpleObject<String> {
public SimpleObject<String> getInstance() {
return null;
}
}
Голосование за лучший ответ
Александр Искусственный Интеллект (290442) 1 год назад
интерфейсы сами по себе не работают...
Zhenya7727 Мудрец (11350) 1 год назад
Бывают в жизни моменты, когда в зависимости от типа данных немного меняется логика. Из-за этого небольшого момента в логике программы иногда приходится писать кучу ненужного (с момента появления параметризации) кода.
Для таких целей была придумана параметризация, которая позволяет обобщить тип переменной.
Где это используется (в интерфейсах)?
Вы можете рассмотреть интерфейс Callable, который параметризован одним типом - тип возращаемого значения. Это некое проявление абстракции. Разработчик, писавший интерфейс Callable, не мог предположить, какой из типов вы должны получать из потока. Да, он мог написать кучу таких Callable для Integer, для String, для Double и тд., но разве это удобно? Поэтому с помощью одного интерфейса Callable и параметризации вы можете ЛИЧНО САМИ передать тот тип, который нужен при возращении ИМЕННО ВАМ
Похожие вопросы