温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java注解应用实例分析

发布时间:2022-06-08 10:25:48 来源:亿速云 阅读:164 作者:zzz 栏目:开发技术

今天小编给大家分享一下Java注解应用实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1.注解的理解

  • 1)注解(Annotation)也被称为元数据(Metadata),用于修饰解释包. 类、方法、属性、构造器、局部变量等数据信息。

  • 2)和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于 嵌入在代码中的补充信息。

  • 3)在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略 警告等。在JavaEE中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替java EE旧版中所遗留的繁冗代码和XML配置等;

2.@Override

package com.demo.annotation_; /**  * @author Demo龙  * @version 1.0  */ public class Override_ {     public static void main(String[] args) {     } } class Father{//父类     public void fly(){         int i = 0;         System.out.println("Father fly...");     }     public void say(){} } class Son extends Father {//子类     //1. @Override 注解放在fly方法上,表示子类的fly方法时重写了父类的fly     //2. 这里如果没有写 @Override 还是重写了父类fly     //3. 如果你写了@Override注解,编译器就会去检查该方法是否真的重写了父类的     //   方法,如果的确重写了,则编译通过,如果没有构成重写,则编译错误     //4. 看看 @Override的定义     //   解读: 如果发现 @interface 表示一个 注解类     /*         @Target(ElementType.METHOD)         @Retention(RetentionPolicy.SOURCE)         public @interface Override {         }      */     @Override   //说明     public void fly() {         System.out.println("Son fly....");     }     @Override     public void say() {} }

3.@Deprecated

package com.demo.annotation_; /**  * @author Demo龙  * @version 1.0  */ public class Deprecated_ {     public static void main(String[] args) {         A a = new A();         a.hi();         System.out.println(a.n1);     } } //1. @Deprecated 修饰某个元素, 表示该元素已经过时 //2. 即不在推荐使用,但是仍然可以使用 //3. 查看 @Deprecated 注解类的源码 //4. 可以修饰方法,类,字段, 包, 参数  等等 //5. @Deprecated 可以做版本升级过渡使用 /* @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) public @interface Deprecated { }  */ @Deprecated class A {     @Deprecated     public int n1 = 10;     @Deprecated     public void hi(){     } }

4.@SuppressWarnings

package com.demo.annotation_; import java.util.ArrayList; import java.util.List; /**  * @author Demo龙  * @version 1.0  */ @SuppressWarnings({"rawtypes", "unchecked", "unused"}) public class SuppressWarnings_ {     //1. 当我们不希望看到这些警告的时候,可以使用 SuppressWarnings注解来抑制警告信息     //2. 在{""} 中,可以写入你希望抑制(不显示)警告信息     //3. 可以指定的警告类型有     //          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,抑制与未用的程式码及停用的程式码相关的警告     //4. 关于SuppressWarnings 作用范围是和你放置的位置相关     //   比如 @SuppressWarnings放置在 main方法,那么抑制警告的范围就是 main     //   通常我们可以放置具体的语句, 方法, 类.     //5.  看看 @SuppressWarnings 源码     //(1) 放置的位置就是 TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE     //(2) 该注解类有数组 String[] values() 设置一个数组比如 {"rawtypes", "unchecked", "unused"}     /*         @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})             @Retention(RetentionPolicy.SOURCE)             public @interface SuppressWarnings {                 String[] value();         }      */     public static void main(String[] args) {         List list = new ArrayList();         list.add("jack");         list.add("tom");         list.add("mary");         int i;         System.out.println(list.get(1));     }     public void f1() { //        @SuppressWarnings({"rawtypes"})         List list = new ArrayList();         list.add("jack");         list.add("tom");         list.add("mary"); //        @SuppressWarnings({"unused"})         int i;         System.out.println(list.get(1));     } }

以上就是“Java注解应用实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI