Annotation其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件切入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。

三个基本Annotation的用法:使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用,用于修饰它支持的程序元素。
三个基本的Annotation如下:

  1. @Override
  2. @Deprecated
  3. @SuppressWarnings

限定重写父类方法:@Override

@Override就是用来制定方法覆载的,它可以强制一个子类必须要覆盖父类的方法。如下程序中使用@Override指定子类Apple的info方法必须重写父类方法。

public class Fruit{public void info(){System.out.println("水果的info方法");}
}
class Apple extends Fruit{@Overridepublic void info(){System.out.println("苹果重写水果的info方法");}
}

@Override Annotation的作用是告诉编译器检查这个方法,并从父类查找是否包含一个被该方法重写的方法,否则就编译出错。

标记已过时:@Deprecated

@Deprecated用于表示某个程序元素(类、方法等)已过时,当其他程序使用已过时的类、方法时,编译器将会给出警告。如下程序制定Apple类中的info方法已过时,其他程序中使用Apple类的info方法时编译器将会给出警告。

class Apple{@Deprecatedpublic void info(){System.out.println("Apple的info方法");}
}
public class DeprecatedTest{public static void main(String[] args){new Apple().info();}
}

抑制编译器警告:@SuppressWarnings

@SuppressWarnings指示被Annotation标识的程序元素(以及在该程序元素中的所有子元素)取消显示指定的编译器警告。@SuppressWarnings会一直作用于该程序元素的所有子元素,例如使用@SuppressWarnings标识一个类来取消显示某个编译器警告,同时又标识该类里某个方法取消显示另一个编译器警告,那么将在此方法中同时取消显示这两个编译器警告。
下面程序取消了没有使用泛型的编译器警告。

@SuppressWarnings(value="unchecked")
public class SuppressWarningsTest{public static void main(String[] args){List<String> myList = new ArrayList();}
}

上面程序用了@SuppressWarnings来关闭SuppressWarningsTest类里的所有编译器警告,编译上面程序时将不会看到任何编译器警告。

Annotation(注释):基本Annotation相关推荐

  1. java annotation list_java-注解annotation

    package cd.itcast.day2; import java.lang.reflect.Method; import java.util.ArrayList; import java.uti ...

  2. java annotation应用_java Annotation的应用

    一.Annotation 示例 Override Annotation 1 @Override2 public void onCreate(Bundle savedInstanceState); 二. ...

  3. spring-基于注释(Annotation)的配置(转) 4

    1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的 类的实现: Java代码 public class UserManagerImpl implements UserMa ...

  4. java三种注释_Java中三种常见的注释(注解) Annotation

    Java为我们提供了三种Annotation方便我们开发. 1 Override-函数覆写注解 如果我们想覆写Object的toString()方法,请看下面的代码: 1 classAnnotatio ...

  5. java annotation入门_JAVA - Annotation 注解 入门

    Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...

  6. java annotation 属性_java annotation 获取属性

    自定义Annotation 1.声明一个annotation,类型是@interface //声明注解 @Target(ElementType.FIELD) @Retention(RetentionP ...

  7. java annotation应用_Java Annotation高级应用

    前言: 在此行文<java annotation高级应用>,具体实例化解释annotation和annotation processing tool(APT)的使用.望能对各位的有所帮助. ...

  8. matlab的annotation,科学网—annotation in matlab Graph - 夏靖的博文

    matlab 中annotation的操作可以象windows的"画图"一样很方便的对图像进行标注,但如果所绘的图需要修改,其标注也需要再手工重复操作一次,所以在这种情况下用脚本进 ...

  9. Annotation 和Spring Annotation 知识整理

    话题很大,感觉能力有限,很难把这些东西一次说透,只能稍作一个整理,供参考了.Annotation , 注解.可以粗浅理解是一种方法,这种方法能够帮助我们简化代码或者资源配置文件,提高工作效率.越来越多 ...

最新文章

  1. 【转载】 stm32之PWM
  2. 加州理工《数据学习:机器学习课程》视频及ppt分享(附下载)
  3. Android 本地搭建Tomcat服务器供真机测试
  4. oracle的awr日志,oracle 导出awr信息
  5. linux重启mysql的命令行_LINUX重启MYSQL的命令
  6. PHP数据库调用类调用实例
  7. Slog76_用一个简单的游戏演示与数据库的交互(微信小程序之云开发-全栈时代6)...
  8. 在企业级管理软件领域,国内尚没有“好”产品
  9. vod点歌系统服务器,冰河家庭VOD点歌系统
  10. treetable怎么带参数_jquery treeTable插件使用细则
  11. MySQL操作语句(快速办公)
  12. 第五十三回 关云长义释黄汉升  孙仲谋大战张文远
  13. java 拖拉机_拖拉机(升级)必胜之秘诀 - 淡泊明志,宁静致远 - JavaEye技术网站...
  14. Notepad++取消去除文字下面的红色波浪线
  15. 寻路机器人单片机程序示例_单片机c语言示例程序
  16. office办公软件题库1
  17. android 简易我的积分页面、答题页面的设计
  18. Ubuntu加装4T机械硬盘
  19. C#、TypeScript 之父 Anders Hejlsberg:“会用 Excel 的,都是程序员 ”
  20. 如何用纯CSS将图片填满div,自适应容器大小

热门文章

  1. Python的爬虫程序
  2. 全网首发,Swin Transformer+FaceNet实现人脸识别
  3. 第03章 Python的数据结构、函数和文件--Python for Data Analysis 2nd
  4. Linux下Socket编程之TCP Server端
  5. 网站怎么屏蔽指定搜索引擎访蜘蛛的访问
  6. 全网最全docker初级入门!!!
  7. 知识图谱本体建模之RDF、RDFS、OWL详解
  8. 图解实时操作系统和非实时操作系统的区别
  9. 服务器被劫持是什么意思
  10. 凭本事当的组长,凭什么工资还没手下高?