1 © Luxoft Training 2013 Модуль 8 Введение Задачи аннотаций Стандартные аннотации Создание собственных аннотаций 8-1 Аннотации.

Презентация:



Advertisements
Похожие презентации
1 © Luxoft Training 2013 Модуль 7 Введение Исследование классов 7-1 Механизм Reflection.
Advertisements

Новые возможности Java 5 Java Advanced. 2Georgiy KorneevJava Advanced / Новые возможности Java 5 Содержание Перечисления Метаданные Другие возможности.
1 © Luxoft Training 2012 Java: расширенные вопросы Модуль #8.
Сложные периодические расчеты. Пример Сотрудник предприятия взял очередной отпуск на один из месяцев года Начислили и выплатили ему отпускные перед тем,
Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
1 © Luxoft Training 2013 Модуль 9 Введение Уровни логирования Хэндлеры Фильтры Иерархия логеров Общий сценарий логирования Конфигурационные файлы 9-1 Система.
Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования.
Кроссъязыковый рефакторинг « Изменение сигнатуры метода » Медведев Максим Юрьевич, 445 гр. Руководитель : Громов Петр Александрович.
Презентация. Система управления базами данных (СУБД) совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих.
ЛАБОРАТОРНАЯ РАБОТА 1 ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ТАБЛИЦ, ИСПОЛЬЗУЕМЫХ В ТРАНСЛЯТОРЕ Рейн Т. С.
EJB Local Interface Кряжев Василий
Формальные и фактические параметры Вызов по ссылке и значению.
Отладка программы. Классификация ошибок 1.синтаксические; 2. ошибки времени выполнения; 3.алгоритмические. Синтаксические ошибки, обнаруживает компилятор,
Введение в теорию компиляции Основные принципы построения трансляторов.
Встроенная документация Java Андрей Дмитриев Инженер-программист Sun Microsystems Февраль 2008.
Обучение и тестирование сотрудников Хасаншин Тимур tkhasanhin khasik.
Полиморфизм Полиморфизм (polymorphism) - последний из трех "китов", на которых держится объектно-ориентированное программирование Слово это можно перевести.
ДАЛЕЕ БАЗА ДАННЫХ ACCESS Проектирование базы данных Создание базы данных Создание базы данных без помощи мастера Таблицы Создание таблицы в режиме конструктора.
1 С:Документооборот СЭД «Документооборот Проф» Сравнение систем документооборота на базе платформы «1С:Предприятие 8.2» В данной презентации мы рассмотрим.
1С:Торговля и Склад 7.7
Транксрипт:

1 © Luxoft Training 2013 Модуль 8 Введение Задачи аннотаций Стандартные аннотации Создание собственных аннотаций 8-1 Аннотации

2 © Luxoft Training 2013Аннотации Аннотации представляют собой метаданные, которые могут добавляться в исходный код программы и семантически не влияют на нее, но могут использоваться в процессе анализа кода, компиляции и даже во время выполнения 8-2 Введение

3 © Luxoft Training 2013Аннотации В отличие от JavaDoc комментариев, которые уничтожаются при компиляции, аннотации рефлективный – сохраняются в class файле и могут быть получены с помощью механизма reflection в runtime Аннотации были введены в Java Введение

4 © Luxoft Training 2013Аннотации Метаданные, хранящиеся в аннотации позволяет задавать конфигурацию на классы. Эта конфигурация может использоваться компилятором, клиентским кодом или внешними программами 8-4 Введение

5 © Luxoft Training 2013Аннотации Можно аннотировать: Класс Метод Поля класса Параметры Пакеты И др. (полный список рассмотрим далее) 8-5 Введение

6 © Luxoft Training 2013 Модуль 8 Введение Задачи аннотаций Стандартные аннотации Создание собственных аннотаций 8-6 Аннотации

7 © Luxoft Training 2013Аннотации Основные варианты использования аннотаций включают: предоставлять необходимую информацию для компилятора; предоставлять метаданные различным инструментам для генерации кода, конфигураций и т.д.; использоваться в коде во время выполнения программного кода для контроля выполнения программы 8-7 Использование аннотаций

8 © Luxoft Training 2013 Стандартные аннотации Существуют аннотации, определенные 8-8 Аннотации, используемые компилятором

9 © Luxoft Training 2013 Стандартные – указывает компилятору на то, что элемент устарел и его не следует использовать. Указывается на классе, методе или поле Многие IDE анализируют эту аннотацию и помечают (Eclipse перечеркивает) соответствующий элемент

10 © Luxoft Training 2013 Стандартные аннотации

11 © Luxoft Training 2013 Стандартные указывает компилятору на то, что метод обязан переопределять метод родительского класса. В случае, если метод, аннотированный не переопределяет метод родительского класса (или если соответствующий метод был удален/переименован) компилятор выдает ошибку

12 © Luxoft Training 2013 Стандартные аннотации

13 © Luxoft Training 2013 Стандартные указывает компилятору игнорировать предупреждения (warning)

14 © Luxoft Training 2013 Модуль 8 Введение Задачи аннотаций Стандартные аннотации Создание собственных аннотаций 8-14 Аннотации

15 © Luxoft Training 2013 Создание собственных аннотаций Для создания аннотации используется ключевое : являются аннотациями для аннотаций 8-15 Введение

16 © Luxoft Training 2013 задает элемент, на котором может быть указана определяемая аннотация и принимает значения: TYPE FIELD METHOD PARAMETER CONSTRUCTOR LOCAL_VARIABLE ANNOTATION_TYPE PACKAGE Создание собственных аннотаций

17 © Luxoft Training 2013 указывает, где доступна определяемая аннотация и принимает значения: SOURCE определяемая аннотация доступна только в исходном коде и стирается при компиляции Создание собственных аннотаций

18 © Luxoft Training 2013 CLASS аннотация будет записана в class-файл компилятором, но не должна быть доступна во время выполнения RUNTIME - аннотация будет записана в class-файл и доступна во время выполнения через reflection Создание собственных аннотаций

19 © Luxoft Training Пример Создание собственных аннотаций

20 © Luxoft Training 2013 Можно получить аннотацию класса, метода, поля или параметра с помощью механизма reflection 8-20 Получение аннотации через reflection Создание собственных аннотаций

21 © Luxoft Training Получение аннотации через reflection Создание собственных аннотаций

22 © Luxoft Training 2013Упражнение 8-22 Упражнение 20 Использование аннотаций

23 © Luxoft Training 2013 Модуль 8 Введение Задачи аннотаций Стандартные аннотации Создание собственных аннотаций 8-23 Аннотации