Java为我们提供了三种Annotation方便我们开发。

1 Override-函数覆写注解

如果我们想覆写Object的toString()方法,请看下面的代码:

1 classAnnotationDemo2 {3 privateString info;4 publicAnnotationDemo(String info)5 {6 this.info =info;7 }8

9 publicString tostring()10 {11 return "info的值是:" + this.info;12 }13 }14

15 public classMain16 {17 public static voidmain(String[] args)18 {19 AnnotationDemo ad = new AnnotationDemo("你好");20 System.out.println(ad);21 System.out.println("Main Done//~~");22 }23 }

上面的代码,我们期望能在AnnotationDemo类中覆写toString()方法,结果在运行的时候发现,程序调用的是Object的toString方法。原因是,我们的函数代码编写有瑕疵,将本应是toString()的方法名写成了tostring().该bug在我们运行代码后才能暴露出来。如果我们在tostring()上加上@Override注解,就可以显示的告诉JAVA编译器,我的函数是要覆写父类方法,请执行检查。请看代码:

1 packagemain;2

3

4 classAnnotationDemo5 {6 privateString info;7 publicAnnotationDemo(String info)8 {9 this.info =info;10 }11

12 @Override13 publicString tostring()14 {15 return "info的值是:" + this.info;16 }17 }18

19 public classMain20 {21 public static voidmain(String[] args)22 {23 AnnotationDemo ad = new AnnotationDemo("你好");24 System.out.println(ad);25 System.out.println("Main Done//~~");26 }27 }

上面的代码不能通过编译。

2 Depreced-方法过期注解

如果我们在方法上用@Depreced注解,那么就是告诉用户,这个方法已经不推荐使用了。如下面的代码:

1 classAnnotationDemo2 {3 privateString info;4 publicAnnotationDemo(String info)5 {6 this.info =info;7 }8

9 @Deprecated10 public voidshowInfo()11 {12 System.out.println(this.info);13 }14

15 @Override16 publicString toString()17 {18 return "info的值是:" + this.info;19 }20 }21

22 public classMain23 {24 public static voidmain(String[] args)25 {26 AnnotationDemo ad = new AnnotationDemo("你好");27 System.out.println(ad);28 System.out.println("Main Done//~~");29 }30 }

上面的代码在编译的时候会警告用户,showInfo()方法已经不推荐使用了。

3  @SuppressWarning-压制警告

压制警告的意思是,当我们代码有警告信息的时候,而我们不认为该警告会对我们的代码造成威胁,此时可以用@SuppressWarning将警告的提示信息取消。

1 @SuppressWarnings("serial")2 class AnnotationDemo implementsSerializable3 {4 privateString info;5 publicAnnotationDemo(String info)6 {7 this.info =info;8 }9

10 @Deprecated11 public voidshowInfo()12 {13 System.out.println(this.info);14 }15

16 @Override17 publicString toString()18 {19 return "info的值是:" + this.info;20 }21 }

上面的代码实现了Serializable接口,该接口需要类中有一个serialVersionUID字段已标志不同的版本。而实际上我们不需要这个字段,那么在类上将该警告压制住,编译器就不会在提示警告信息了。

java三种注释_Java中三种常见的注释(注解) Annotation相关推荐

  1. java中三种逻辑运算符_Java中的逻辑运算符

    逻辑运算符要求操作数的数据类型为逻辑型,其运算结果也是逻辑型值.逻辑运算符有:逻辑与(&&).逻辑或(||).逻辑非(!).逻辑异或(^).逻辑与(&).逻辑或(|). 真值表 ...

  2. java 三目算法_Java 中的三目运算符

    写在前面: 三目运算符是我们经常在代码中使用的,a= (b==null?0:1); 这样一行代码可以代替一个 if-else,可以使代码变得清爽易读.但是,三目运算符也是有一定的语言规范的.在运用不恰 ...

  3. java三目运算_Java中的三目运算符 详解

    对于有些选择分支结构,可以使用简单的条件运算符来代替. 如: if(a min=a; else min=b; 可以用下面的条件运算符来处理 min=(a 其中"(a 条件运算符由两个符号组成 ...

  4. Java 三种模型,四种策略

    Java 三种模型,四种策略 (转) 混淆事务模型与事务策略是一个常见的错误.本系列关于 事务策略 的第二篇文章将概述 Java™ 平台支持的三种事务模型,并介绍使用这些模型的四种主要事务策略.通过使 ...

  5. java同步异步调用_详解java 三种调用机制(同步、回调、异步)

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,jsPwwCe它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消 ...

  6. Android应用开发中三种常见的图片压缩方法

    Android应用开发中三种常见的图片压缩方法,分别是:质量压缩法.比例压缩法(根据路径获取图片并压缩)和比例压缩法(根据Bitmap图片压缩). 一.质量压缩法private Bitmap comp ...

  7. java 三种工厂模式

    java 三种工厂模式 一.简单工厂模式 一个栗子:  我喜欢吃面条,抽象一个面条基类,(接口也可以),这是产品的抽象类. public abstract class INoodles {/*** 描 ...

  8. java 三种将list转换为map的方法详解

    这篇文章主要介绍了java 三种将list转换为map的方法详解的相关资料,需要的朋友可以参考下 java 三种将list转换为map的方法详解 在本文中,介绍三种将list转换为map的方法: 1) ...

  9. JAVA 三种线程实现创建方式

    JAVA 三种线程实现/创建方式 方式一:继承Thread类 通过继承Thread类来创建一个自定义线程类.Thread类本质上就继承了Runable接口,代表一个线程类.启动线程的唯一办法就是通过T ...

最新文章

  1. Navicat连接数据库成功,新建查询时提示错误“Cannot create file ……”
  2. 3500字的txt文件_split文件拆分与合并,看完还不会,拿头拍我
  3. Redis设计于实现之字典
  4. 51NOD 2026:Gcd and Lcm——题解
  5. Height、offsetWidth、ClientHeight 区别
  6. 神经网络控制器设计原理,神经网络控制系统设计
  7. 使用咕咕机打印有道词典中的单词
  8. 【WPS】折线图数据点上添加标记(三角形、正方形、菱形等)
  9. 还不重视!脸上有螨虫的几种表现?
  10. 持续分化的 NFT 市场:新的金字塔正在形成
  11. elasticsearch+logstash+kibana+filebeat+kafka
  12. Java中resualtset,Java SafeEncoder類代碼示例
  13. H5浏览器下无插件、低延时、RTSP视频流直播
  14. Nuit du hack 2017 webcrypto Writeup
  15. 【js调用后端接口】
  16. 【Git】Windows Git和TortoiseGit安装教程(Git2.23.0、TortoiseGit2.8.0、语言包2.8.0)
  17. 为什么我总是不能抢买到“秒杀商品”?
  18. Eureka如何实现自我保护机制
  19. 湖南最新中级消防设施操作员考试真题题库及答案
  20. 简历python技能怎么写_python相关技能

热门文章

  1. convLSTM-tensorflow:LSTM理解
  2. 批量ping IP并检测IP延迟率和丢包率脚本
  3. 【转载】线段树 区间合并 小结
  4. 服务器配置多个域名冲突
  5. javascript 模拟滚动 隐藏滚动条
  6. 解读Unity中的CG编写Shader系列二
  7. Leetcode 5
  8. 生成、打包、部署和管理应用程序及类型(2):元数据概述
  9. WMware Workstation——时间和时区问题
  10. !heap 和 _HEAP_ENTRY