package level2.annotation;
import java.util.ArrayList;
import java.util.List;
/** 1、介绍
* 1) 注解也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息
* 2) 和注释一样,注释不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息
* 3) 在JavaSE中,注解使用的目的比较简单,例如标记过时的功能,忽略警告等。
* 在JavaEE中,注解的角色更重要,例如用来配置应用程序的任何切换等
* 4) 使用注解时要在其前面增加 @ 符号,并把该注解当成一个修饰符使用,用于修饰它支持的程序元素
* 5) 三个基本的注解:
* a. @Override: 限定某个方法,是重写父类方法,该注解只能用于方法
* b. @Deprecated: 用于表示某个程序元素(类、方法等)已过时
* c. @SuppressWarnings: 抑制编译器警告
* 2. @Override说明
* 1. @Override 注解放在fly方法上,表示fly方法重写了父类的方法
* 2. 如果没有写 @Override 注解,那还是重写了父类的方法
* 3. 如果写了 @Override 注解,编译器就会去检查该方法是否真的重写了父类的方法
* 如果的确重写了,则编译通过,否则编译不通过
* 4. @Target(ElementType.METHOD) -- @Target 是修饰注解的注解,表示支持注解的类型
* @interface 不是接口,说明是一个注解类
* public @interface Override {
* }
* 3. @Deprecated说明:
* 1. @Deprecated 修饰某个元素,表示该元素已经过时(即不再推荐使用,但是仍然可以使用)
* 2. 可以修饰方法、类、字段、包、参数等
* 3.
* 4. @SuppressWarnings: 抑制编译器警告
*/
public class MyAnnotation {
@SuppressWarnings({"all"})
public static void main(String[] args) {
// 1. 当我们不希望看到这些警告时,可以使用 SuppressWarnings 注解来抑制警告信息
// 2. 在 {""} 中,可以写入你希望抑制(即不显示)的警告信息
// 3. @SuppressWarnings 的作用范围与放置的位置相关
// 若 @SuppressWarnings 在main方法上,那么抑制警告的范围就是整个main方法
// 通常 我们可以放置在方法 | 类 上
List list = new ArrayList();
list.add("tom");
}
}
class Father{
public void fly(){
System.out.println(" father fly...");
}
}
class Son extends Father{
// 1. @Override 注解放在fly方法上,表示fly方法重写了父类的方法
// 2. 如果没有写 @Override 注解,那还是重写了父类的方法
// 3. 如果写了 @Override 注解,编译器就会去检查该方法是否真的重写了父类的方法
// 如果的确重写了,则编译通过,否则编译不通过
/* 4. @interface 不是接口,说明是一个注解类
public @interface Override {
}
*/
@Override
public void fly(){
System.out.println(" father fly...");
}
}
java之注解
最新推荐文章于 2024-08-07 11:15:21 发布