Spec-Zone .ru
спецификации, руководства, описания, API
|
Вопрос: Что не так со следующим интерфейсом:
public interface House { @Deprecated public void open(); public void openFrontDoor(); public void openBackDoor(); }
Ответьте, что документация должна отразиться почему open
осуждается и что использовать вместо этого. Например:
public interface House { /** * @deprecated use ofopen
* is discouraged, use *openFrontDoor
or *openBackDoor
instead. */ @Deprecated public void open(); public void openFrontDoor(); public void openBackDoor(); }
Вопрос: Рассмотрите эту реализацию 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() {} }