Содержание
- 2. Обобщенное программирование
- 3. Обобщенное программирование Механизм Generics позволяет абстрагироваться от типов данных Типичный пример – работа с коллекциями List
- 4. Обобщенное программирование В Java 5 вы можете параметризировать классы List myIntList = new LinkedList(); // 1
- 5. Определение простого Generic класса Отличие от обычного класса состоит в параметре в угловых скобках public interface
- 6. Наследование и Generic классы Правилен ли этот код? List ls = new ArrayList (); // 1
- 7. Маски При задании типов-параметров можно указывать маски типов, допустимых для класса Generic void printCollection(Collection c) {
- 8. Generic методы Можно добавлять параметры только к методам класса static void fromArrayToCollection(T[] a, Collection c) {
- 9. Варианты использования Generics interface Transformer { public OT transformData(IT data); public addInputFilter (InputFiter filter); public addOutputFilter
- 10. Аннотации
- 11. Что такое аннотации Аннотация – дополнительная информация о методе или классе Аннотации предназначены для обработки сторонними
- 12. Зачем использовать аннотации? «Декларативный» стиль программирования Нет необходимости поддерживать сторонние файлы в актуальном состоянии – все
- 13. Создание аннотаций Похоже на объявление интерфейса Необходимо перед названием поставить знак “@” Каждое объявление метода определяет
- 14. Создание аннотаций @Retention(value = RetentionPolicy.RUNTIME) @Target(value = ElementType.METHOD) public @interface PropertySettings { String description() default "";
- 15. Использование аннотаций После объявления аннотации она может быть использована на уровне описания Класса Метода Свойства Аннотация
- 16. Использование аннотаций @PropertySettings(order = 2, displayName = "Private Key Password") public void setPrivateKeyPassword(String password) { adapter.setPrivatePassword(password);
- 17. Типы аннотаций Маркер Аннотация с единственным значением Обычная аннотация (был рассмотрен выше)
- 18. Маркер-аннотация Аннотация без элементов Объявление public @interface DatabaseDatasource { } Использование @DatabaseDatasource public void setDbName(String name)
- 19. Аннотация с единственным значением Аннотация, в которой может содержаться только одно значение Элемент должен называться «value»
- 20. Мета-аннотации @Retention Как долго аннотация остается в коде SOURCE CLASS (по умолчанию) RUNTIME @Target Ограничение использования
- 21. Получение значений аннотаций Маркер С единственным значением boolean isDataSource = MyClass.class.isAnnotationPresent (DatabaseDatasource.class) String dataSourceName = MyClass.class.getAnnotation(DatabaseDatasource.class).value()
- 23. Скачать презентацию