Некоторые ограничения
Существует некоторое количество ограничений, касающихся объявления аннотаций. Во-первых, одна аннотация не может наследовать другую. Во-вторых, все методы, объявленные в аннотации, должны не принимать параметров. Более того, они должны возвращать один из перечисленных ниже типов:
- примитивный тип, такой как int или double;
- объект типа String или Class;
- тип enum;
- тип другой аннотации;
- массив одного из предыдущих типов.
Аннотации не могут быть обобщенными. Другими словами, они не могут принимать параметры-типы. (Обобщения рассматриваются в главе 14.) И, наконец, в методах аннотации не может быть указана конструкция throws.