注解(Annotation)
- Annotation是一个接口
- Annotation不影响程序代码的执行
- 使用Annotation时要在其前面加@符号,并把Annotation当成一个修饰符使用
限定重写父类方法(@Override)
- @Override就是用来指定方法覆盖的,可以强制一个子类必须覆盖父类的方法
- 用来防止出现拼写错误
- 只能用于修饰方法,不能用于修饰其他程序元素
标示已过时(@Deprecated)
- @Deprecated用于表示某个程序元素(类、方法)等已过时,当使用时会给出警告
抑制编译器警告(@SuppressWarnings)
- @SuppressWarnings指示被修饰的程序元素(以及该程序元素的所有子元素)取消显示指定的编译器警告
- 会一直作用于该程序元素的所有子元素
- 如果程序中使用没有泛型限制的集合将会引起编译器警告
“堆污染”警告(@SafeVarargs)
- 当把一个不带泛型的对象赋给一个带泛型的变量时,往往会发生堆污染
函数式接口(@FunctionalInterface)
- 如果接口中只有一个抽象方法(可以包含多个默认方法或静态方法),该接口就是函数式接口
- @FunctionalInterface就是用来指定某个接口必须时函数式接口
- 只能修饰接口,不能修饰其他程序元素