Java–注解(Annotation)
注解也被称为元数据(Metadata),用于修饰解释 包,类,方法,属性,构造器,局部变量等数据信息。
注解VS注释:
- 都不影响程序逻辑
- 注解可以被编译或运行,相当于嵌入在代码中的补充信息
注解的使用
使用注解时要在其前面增加@符号,并把该Annotation当成一个修饰符使用,用于修饰它支持的程序元素
下面是3个基本的注解:
- @Override:限定某个方法,是重写父类方法,这个注解只能用于方法
- @Deprecatde:用于表示某个程序元素(类,方法等)已经过时,可以修饰方法,类,字段,包,参数
- @SupperessWarings:抑制编译器警告
Override讲解
class Father{//父类
public void fly(){
System.out.println("Father fly....")
}
class Son extends Father{//子类
// 1.@Override注解放在fly方法上,表示子类的fly方法重写了父类的fly
//2.这里如果没有写@Override 还是重写了父类的fly
//3.如果你写了@Override注解,编译器就会检查该方法是否真正重写了父类的方法,如果是编译成功,如果没有构成重写,则编译失败
@Override
public void fly(){
System.out.println("Son fly....")
}
Deprecated
作用:就是版本更新的过度,旧的东西还能用,不过不建议使用了,比较简单易懂
SuppressWarnings
因为我们在写代码时,经常有警告出现,导致观感不清楚,因此,我么可以使用抑制警告SuppressWarings来操作。
使用格式:
@SuppressWarnings({//可添加多个,下面表格就是添加的关键字及其作用})
SuppressWarnings放的位置:一般来说放在类的上面,这样可以作用整个类了,不过想要准确抑制警告那么就需要方法或者具体的语句上方了
关键字 | 用途 |
---|---|
all | 抑制所有警告 |
boxing | 抑制装箱、拆箱操作时候的警告 |
cast | 抑制映射相关的警告 |
dep-ann | 抑制启用注释的警告 |
deprecation | 抑制过期方法警告 |
fallthrough | 抑制确在switch中缺失breaks的警告 |
finally | 抑制finally模块没有返回的警告 |
hiding | 抑制显示相对于隐藏变量的局部变量的警告 |
incomplete-switch | 忽略没有完整的switch语句 |
nls | 忽略非nls格式的字符 |
null | 忽略对null的操作 |
rawtypes | 使用generics时忽略没有指定相应的类型 |
restriction | 抑制显示与使用不鼓励或抑制的引用相关的警告 |
serial | 忽略在serializable类中没有声明serialVersionUID变量 |
static-access | 抑制不正确的静态访问方式警告 |
synthetic-access | 抑制子类没有按最优方法访问内部类的警告 |
unchecked | 抑制没有进行类型检查操作的警告 |
unqualified-field-access | 抑制没有权限访问的域的警告 |
unused | 抑制没被使用过的代码的警告 |