Java. Введение в коллекции. Классы обертки. ПеречисленияюUnguryan VitaliyВведение в коллекции, классы обертки примитивных типов и перечисления (enumeration).
Java core-lect6-part3-annotation.pptAnton MoiseenkoThe 3rd part of the 6th lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
TypeScriptGetDev.NETВидеозапись встречи:
http://getdev.net/Event/typescript
TypeScript - язык программирования от Microsoft, который является надмножеством JavaScript. Он поддерживает статическую типизацию, модули, определение классов и интерфейсов и транслируется в чистый JS. Спецификации языка открыты, а код компилятора распространяется под лицензией Apache.
2. Аннотации
Главной задачей аннотаций является
статическое расширение классов
(именно классов, а не объектов), путём
добавления метаданных в класс, без
изменения его методов и свойств.
Внимание! Аннотации появились в языке
Java с появлением версии 1.5. В версиях
ниже 1.5 нет возможности использовать
аннотации.
3. Основные задачи аннотации
Информация для компилятора -
аннотации могут быть
использованы компилятором
для обнаружения ошибок
(например, @Override) или для
подавления предупреждений
(@SuppressWarnings);
4. Основные задачи аннотации
Дополнительная обработка кода
во время компиляции - внешнее
программное обеспечение
может использовать аннотации
для генерации кода или разного
рода файлов конфигураций;
6. Основные задачи аннотации
Единственная разница между
интерфейсом и аннотацией - это
символ @ перед ключевым словом
interface.
Аннотация может содержать
свойства.
11. Типы аннотации @Target:
PACKAGE - назначением
является целый пакет (package);
TYPE - класс, интерфейс, enum
или другая аннотация:
METHOD - метод класса, но не
конструктор;
PARAMETER - параметр метода;
12. Типы аннотации @Target:
CONSTRUCTOR - конструктор;
FIELD - поля-свойства класса;
LOCAL_VARIABLE - локальная переменная
(обратите внимание, что аннотация не может
быть прочитана во время выполнения
программы, данный тип аннотации может
использоваться только на уровне
компиляции как, например, аннотация
@SuppressWarnings);
ANNOTATION_TYPE - другая аннотация.
13. Типы аннотации @Target:
Также есть возможность задать
сразу несколько типов аннотации.
Пример:
@Target({ElementType.CONSTRUCTOR,
ElementType.METHOD})
14. Аннотация @Retention
Аннотация @Retention позволяет
указать, в какой момент жизни
программного кода будет доступна
аннотация: только в исходном коде,
в скомпилированном классе или во
время выполнения программы.
15. Типы аннотация @Retention
SOURCE - аннотация доступна только
в исходном коде и сбрасывается во
время создания .class файла;
CLASS - аннотация хранится в .class
файле, но недоступна во время
выполнения программы;
RUNTIME - аннотация хранится в
.class файле и доступна во время
выполнения программы.
16. Аннотация @Inherited
@Inherited - эта аннотация
означает, что аннотации к
которой она применяется
будут автоматически
наследоваться в дочерних
классах описанного
аннотацией класса.