Annotation:系统内建Annotation
系统 annotation
2023-09-14 08:58:42 时间
1,掌握系统内建的三个Annotation。
Annotation被称为元数据特效,也被称为注释,即:使用注释方式,加入一些程序信息。
Java.lang.annotation接口是所有Annotaion必须实现的接口。
系统已经内建的三个Annotation:
@Override:覆写的Annotation.
@Deprecated:不赞成使用的Annotation
@SuppressWarning:压制安全警告的Annotation
@Overrride
@overrride表示方法覆写的正确性,例如,如下代码:
package 类集; class Person{ public String getInfo(){ // 取得信息 return "这是一个Person类。" ; } }; class Student extends Person{ // 继承此类 public String getInfo(){ // 覆写方法 return "这是一个Student类。" ; } }; public class GetInterfaceDemo { public static void main(String[] args) throws Exception { Person per = new Student() ; System.out.println(per.getInfo()) ; // 输出信息 } }
此时,可能存在某种事物,将方法名称getInfo编写错误。例如写成getinfo,大小写错误,这个时候
为了保证覆写正确性,添加覆写属性。Overrride,保证程序正确执行。
例如,写成下面,就会报错。
package 类集; class Person{ public String getInfo(){ // 取得信息 return "这是一个Person类。" ; } }; class Student extends Person{ // 继承此类 @Override public String getinfo(){ // 覆写方法,这里覆写的方法大小写错误了,就会报错。 return "这是一个Student类。" ; } }; public class GetInterfaceDemo { public static void main(String[] args) throws Exception { Person per = new Student() ; System.out.println(per.getInfo()) ; // 输出信息 } }
@Deprecated
使用Deprecated注释的Annotation本身是不建议使用的操作,
注释方法:
package 类集; class Demo{ @Deprecated // 声明不建议使用的操作 public String getInfo(){ return "这是一个Person类。" ; } }; public class GetInterfaceDemo { public static void main(String[] args) throws Exception { Demo d = new Demo() ; System.out.println(d.getInfo()) ; } }
以上程序并不会使得编译出差,但是会产生一个警告信息。
还可以注释类:
package 类集; @Deprecated // 声明不建议使用的操作 class Demo{ public String getInfo(){ return "这是一个Person类。" ; } }; public class GetInterfaceDemo { public static void main(String[] args) throws Exception { Demo d = new Demo() ; System.out.println(d.getInfo()) ; } }
@SuppressWarning.
用于压制警告信息,
以之前的泛型操作为例,在泛型中如果没有指定泛型类型,则使用时候肯定出现安全警告。
正常情况不使用annotation。没有指定泛型类型。
package 类集; class Demo<T>{ private T var ; public T getVar(){ return this.var ; } public void setVar(T var){ this.var = var ; } }; public class GetInterfaceDemo { public static void main(String args[]){ Demo d = new Demo() ;//因为没有给泛型指定类型,这里会有警告 d.setVar("小华") ; //这里会有警告 System.out.println("内容:" + d.getVar()) ; } }
此时可以使用SuppressWarning这个Annotation将这种警告信息进行压制。
注释信息表示要强制压制的信息,可以通过@SuppressWarnings(“信息”)方式进行注释,里面的信息可以用数组形式注释,
例如:@SuppressWarnings({ "unchecked", "rawtypes" })。
package 类集; class Demo<T>{ private T var ; public T getVar(){ return this.var ; } public void setVar(T var){ this.var = var ; } }; public class GetInterfaceDemo { @SuppressWarnings({ "unchecked", "rawtypes" }) public static void main(String args[]){ Demo d = new Demo() ; d.setVar("小华") ; System.out.println("内容:" + d.getVar()) ; } }
通过Deprressed进行强制警告,通过SuppressWarning进行压制警告
package 类集; @Deprecated class Demo<T>{ private T var ; public T getVar(){ return this.var ; } public void setVar(T var){ this.var = var ; } }; public class GetInterfaceDemo { @SuppressWarnings({"unchecked","deprecation"}) public static void main(String args[]){ Demo d = new Demo() ; d.setVar("小华") ; System.out.println("内容:" + d.getVar()) ; } }
@SuppressWarning中的关键字。
通过刚才发现Suppresswarning注释发现,里面是使用value字符串数组接收的,所以在传入注释参数的时候也可以明确指出要传给哪个变量。
package 类集; @Deprecated class Demo<T>{ private T var ; public T getVar(){ return this.var ; } public void setVar(T var){ this.var = var ; } }; public class GetInterfaceDemo { @SuppressWarnings(value={"unchecked","deprecation"}) public static void main(String args[]){ Demo d = new Demo() ; d.setVar("李兴华") ; System.out.println("内容:" + d.getVar()) ; } }
相关文章
- DT系统研究之-自定义新建函数
- .NET插件系统之二——不实例化获取插件信息和可视化方法
- 【推荐系统】知乎live入门4.排序
- 监控系统设计思路
- AndroidStudio3.0 注解报错Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor.
- 一个 ABAP 工具,能打印系统里某个用户对 BSP 应用的浏览历史记录
- Windows系统下使用protobuf:protobuf的简介、安装、使用方法之详细攻略
- 系统调用手册 进程控制 文件系统控制 系统控制 存储管理 网络管理 socket 控制 用户管理 进程间通信 思维导图
- java - 调window系统指令的三种方式
- ubuntu中安装好anaconda之后,系统终端界面前面出现(base)字样
- Win11系统安装flashcs6无法使用解决方法
- 推荐系统-Task02数据库基本使用
- Mysql查看系统变量值
- SpringCloud Alibaba微服务第2章Window系统安装Nacos
- python工具方法 13 win系统字库保存为图片文件
- Win10 系统下 VisualStudio2019 配置点云库 PCL1.11.1