文档

Java™ 教程-Java Tutorials 中文版
问题和练习
Trail: Learning the Java Language
Lesson: Annotations

问题和练习:注解

问题

  1. 以下接口有什么问题?

    public interface House {
        @Deprecated
        void open();
        void openFrontDoor();
        void openBackDoor();
    }
    
  2. 考虑问题 1 中所示的 House 接口的这种实现。

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

    如果编译此程序,编译器会生成警告,因为不推荐使用 open(在接口中)。你能做些什么来摆脱那个警告?

  3. 以下代码是否可以正常编译而不出错?为什么或者为什么不?

    public @interface Meal { ... }
    
    @Meal("breakfast", mainDish="cereal")
    @Meal("lunch", mainDish="pizza")
    @Meal("dinner", mainDish="salad")
    public void evaluateDiet() { ... }
    

练习

  1. 为元素 idsynopsisengineerdate 定义增强请求的注解类型。为工程师指定默认值 unassigned,为日期指定 unknown

检查一下你的答案。


Previous page: Repeating Annotations
Next page: Interfaces and Inheritance