вторник, 27 мая 2014 г.

Type Bounds

Существуют следующие ограничения типов:
  • upper bound - ключевое слово extends
  • lower bound - ключевое слово super.
При использовании wildcard тип передаваемого объекта можно:
  • не ограничивать
University unboundedUniversity;
University<?> sameUnboundedUniversity;
  • ограничивать снизу
University<? extends Student> lowerBoundedUniversity;
  • ограничивать сверху
University<? super Genius> upperBoundedUniversity

При объявлении параметризованного класса тип параметра можно ограничить только сверху, зато сразу несколькими ограничителями (правила наследования в силе - можно ограничить одним классов и любым количеством интерфейсов).

class University<T extends Student & Educable & Callable> 

Комментариев нет:

Отправить комментарий