Chapter 12 Перечисления, автоупаковка, статический импорт и аннотации Flashcards
Константы перечислимого типа иногда называют самотипизированными. Что это означает?
Часть “само” в слове “самотипизированный “ означает тип перечисления, в котором определена константа. Следовательно, константа перечислимого типа является объектом того перечисления, в которое она входит.
Какой класс автоматически наследуют перечисления?
Все перечисления наследуют класс Enum
Что такое упаковка и распаковка? В каких случаях выполняется автоупаковка и автораспаковка?
Упаковка означает сохранение значения простого типа в объекте оболочки, а распаковка - извлечение значения из объекта оболочки. Автоупаковка означает автоматическую упаковку значения без явного создания объекта, тогда как при автораспаковке значение простого типа автоматически извлекается из объекта оболочки без явного вызова соответствующего метода, например intValue ( ) .
Измените следующий фрагмент кода таким образом, чтобы в нем выполнялась автоупаковка:
Double val == Double.valueOf ( l23.0 ) ;
Double val == l23.0 ;
Объясните, что такое статический импорт.
Статический импорт означает размещение статических членов класса или интерфейса в глобальном пространстве имен. Это позволяет использовать статические член ы без указания имени соответствующего класса или интерфейса.
Какие действия выполняет приведенная ниже инструкция?
import static java.lang.Integer.parseint ;
Эта инструкция помещает в глобальное пространство имен метод parseint ( ) класса оболочки типа Integer.
Следует ли использовать статический импорт применительно к конкретным
ситуациям или желательно импортировать статические члены всех классов?
Статический импорт уместен только в отдельных случаях. Если доступным окажется слишком много статических членов, это может привести к конфликтам имен и нарушению структуры кода.
Синтаксис аннотации основывается на
интерфейсе
Какая аннотация называется маркерной?
Маркерной называют аннотацию, не имеющую аргументов.
Справедливо ли следующее утверждение: “Аннотации применимы только к методам”?
Нет, аннотированными могут быть объявления классов, методов, полей, параметров, констант перечислимого типа и даже самих аннотаций.