千家信息网

Java的注解Annotaton怎么用

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要讲解了"Java的注解Annotaton怎么用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java的注解Annotaton怎么用"吧!1
千家信息网最后更新 2025年02月23日Java的注解Annotaton怎么用

这篇文章主要讲解了"Java的注解Annotaton怎么用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java的注解Annotaton怎么用"吧!

1、三种基本的Annotaton

@Override : 限定某个方法,是重写父类方法 , 该注解只能用于方法
@Deprecated : 用于表示某个程序元素 ( 类 , 方法等 ) 已过时
@SuppressWarnings : 抑制编译器警告

@Override

class father{   public void fly(){}}class son extends father{    @Override    public void fly() {        super.fly();    }}

解读

@Override表示son重写了fly方法

细节

如果没有@Override还是会重写fly方法

class father{   public void fly(){}}class son extends father{    public void fly() {        super.fly();    }}

写了@Override注解,编译器就会去检查方法是否重写了父类方法,如果重写了,则编译通过。若没有重写,则编译错误。

@Override只能修饰方法,不能修饰其他类,包,属性等等

//@Override底层代码@Target(ElementType.METHOD)//ElementType.METHOD说明@Override只能修饰方法@Retention(RetentionPolicy.SOURCE)public @interface Override {}

@Deprecated

public class Deprecatedtext {    public static void main(String[] args) {        father father1 = new father();        father1.fly();    }}@Deprecatedclass father{    @Deprecated   public void fly(){}}

解读

@Deprecated表示某个程序元素(类,方法等)已过时,会通过单词中间的横线提醒。表示不建议使用。

效果

细节可以修饰方法,类,包,参数等等

//@Deprecated底层代码@Documented@Retention(RetentionPolicy.RUNTIME)@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//说明Deprecated能修饰方法,类,包,参数等等public @interface Deprecated {}

2.@Deprecated的作用可以起到做新旧版本的兼容过渡

@SuppressWarnings

@SuppressWarnings("all")class father{   public void fly(){}}

解读

@SuppressWarnings注解可以用来抑制警告信息{""}写入你希望抑制的警告信息

效果

细节

1.@SuppressWarnings作用范围和你放置的位置相关

public class Enumtext {    @SuppressWarnings("all")//作用范围在main方法    public static void main(String[] args) {        father father1 = new father();        father1.fly();    }}@SuppressWarnings("all")//作用范围在father类class father{   public void fly(){}}

指定警告类型有

all,抑制所有警告
boxing,抑制与封装/拆装作业相关的警告
cast,抑制与强制转型作业相关的警告
dep-ann,抑制与淘汰注释相关的警告
deprecation,抑制与淘汰的相关警告
fallthrough,抑制与switch陈述式中遗漏break相关的警告
finally,抑制与未传回finally区块相关的警告
hiding,抑制与隐藏变数的区域变数相关的警告
incomplete-switch,抑制与switch陈述式(enum case)中遗漏项目相关的警告
javadoc,抑制与javadoc相关的警告
nls,抑制与非nls字串文字相关的警告
null,抑制与空值分析相关的警告
rawtypes,抑制与使用raw类型相关的警告
resource,抑制与使用Closeable类型的资源相关的警告
restriction,抑制与使用不建议或禁止参照相关的警告
serial,抑制与可序列化的类别遗漏serialVersionUID栏位相关的警告
static-access,抑制与静态存取不正确相关的警告
static-method,抑制与可能宣告为static的方法相关的警告
super,抑制与置换方法相关但不含super呼叫的警告
synthetic-access,抑制与内部类别的存取未最佳化相关的警告
sync-override,抑制因为置换同步方法而遗漏同步化的警告
unchecked,抑制与未检查的作业相关的警告
unqualified-field-access,抑制与栏位存取不合格相关的警告
unused,抑制与未用的程式码及停用的程式码相关的警告

元注解

  • Retention 指定注解的作用范围,三种SOURCE,CLASS,RUNTIME

  • Target 指定注解可以在哪些地方使用

  • Documented 指定该注解是否会在javadoc体现

  • Inherited 子类会继承父类注解

Retention

  • RetentionPolicy.SOURCE :编译器使用后,直接丢弃注释

  • RetentionPolicy.CLASS: 编译器把注解记录在class文件中,当运行java时JVM不会保留注释

  • RetentionPolicy.PUNTIME:编译器把注解记录在class文件中,当运行java时JVM保留注释

Retention案例

@Override底层(IDEA进入底层的快捷键为Ctrl+B

@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)//表示@Override在编译器使用后,直接丢弃注释public @interface Override {}

Target

Target的值
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//   1.CONSTRUCTOR:用于描述构造器    2.FIELD:用于描述域    3.LOCAL_VARIABLE:用于描述局部变量    4.METHOD:用于描述方法    5.PACKAGE:用于描述包    6.PARAMETER:用于描述参数    7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
Target案例

@Deprecated底层

@Documented@Retention(RetentionPolicy.RUNTIME)@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//表示@Documented在这些地方可以写注解public @interface Deprecated {}

Documented

Documented案例

@Deprecated底层

@Documented//@Deprecated代码会被保存到生产的文档中@Retention(RetentionPolicy.RUNTIME)@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})public @interface Deprecated {}

Inherited

被它修饰的Annotation将具有继承性,如果某个类使用了被@Inherited修饰的Annotation,则其子类将自动具有该注解

感谢各位的阅读,以上就是"Java的注解Annotaton怎么用"的内容了,经过本文的学习后,相信大家对Java的注解Annotaton怎么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

方法 注解 编译 底层 编译器 作用 注释 类型 范围 代码 参数 案例 细节 作业 存取 学习 过时 信息 元素 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 即时通讯软件开发的重要作用 时间服务器同步时钟输出类型多样 怎样在数据库中显示标题 四川麦芽网络技术干啥的 熟悉了解网络安全相关理论与技术 企业网络安全准入控制系统 软件开发中的算法 军休数据库保密规定 防范网络安全的照片 数据库查询设计单价降低5% 怎么利用老电脑做云服务器 浙江新能源软件开发价格表格 app软件开发如何验收 学校网络安全教育课心得体会 阿里云数据库先进 企业级数据库建设内容 信息网络技术对老师的影响 电脑无法访问另一台数据库 广州软件开发有限公司传销 凌华服务器串口调试 服务器远程监控软件 华灏服务器部门怎么样 长沙服务器 文件服务器有什么特点 药品广告数据库普乐安时长5秒 赛勤软件开发流程 信息技术产业数据库 信息网络安全技能大赛 怎么建数据库表单 北京国际互联网科技大学博览会
0