Spec-Zone .ru
спецификации, руководства, описания, API
След: Изучение Языка Java
Урок: Классы и Объекты
Домашняя страница > Изучение Языка Java > Классы и Объекты

Ответы на Вопросы и Упражнения: Аннотации

Вопросы

  1. Вопрос: Что не так со следующим интерфейсом:

    public interface House {
        @Deprecated
        public void open();
        public void openFrontDoor();
        public void openBackDoor();
    }
    

    Ответьте, что документация должна отразиться почему open осуждается и что использовать вместо этого. Например:

    public interface House { 
        /**
         * @deprecated use of open 
         * is discouraged, use
         * openFrontDoor or 
         * openBackDoor instead.
         */
        @Deprecated
        public void open(); 
        public void openFrontDoor();
        public void openBackDoor();
    }
    
  2. Вопрос: Рассмотрите эту реализацию House интерфейс, показанный рассматриваемый 1.

    public class MyHouse implements House {
        public void open() {}
        public void openFrontDoor() {}
        public void openBackDoor() {}
    }
    

    Если Вы компилируете эту программу, компилятор жалуется это open был осужден (в интерфейсе). Что можно сделать, чтобы избавиться от того предупреждения?

    Ответ: можно осудить реализацию open:

    public class MyHouse implements House { 
        // The documentation is 
        // inherited from the interface.
        @Deprecated
        public void open() {} 
        public void openFrontDoor() {}
        public void openBackDoor() {}
    }
    

    Альтернативно, можно подавить предупреждение:

    public class MyHouse implements House { 
        @SuppressWarnings("deprecation")
        public void open() {} 
        public void openFrontDoor() {}
        public void openBackDoor() {}
    }
    
«ПредыдущийTOC

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь
.

Предыдущая страница: Вопросы и Упражнения: Аннотации