注解

注解简介:

定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、属性、方法、局部变量、方法参数等的前面。

注解主要是用来配置信息的,例如文档注释也是注解的一种,要注意的一点是注解并不是代码仅仅是配置信息,变动比较大的信息就需要作为配置信息,源码注解只会在代码上出现,编译后则不会出现。所以注解有一个缺点就是需要【学Java,到凯哥学堂kaige123.com】修改配置信息的时候,得找到那个类的的源码进行修改。

在没有注解的时候配置信息一般都是写在文本文件或者XML文件上,因为这种方式配置信息与代码分离了,所以需要查看的时候不太直观、方便,优点就是可以直接修改配置信息,不需要去找源码类。注解优点则是方便查看,能够与代码对应查看起来没那么费力,比较直观,所以一般大多数开发人员还是会选择使用注解。

Java自带注解:

1.@SuppressWarnings注解:

这个注解是用来去除代码警告的,是忽略性注解。写在方法上就去除方法的警告,写在构造器上就去除构造器的警告,写在类上去去除所有警告等等,这个注解可以写在属性、类、方法、参数、构造器、局部变量上。

没写@SuppressWarnings注解的话:

在方法上写@SuppressWarnings注解:

在类上写了这个注解的话会去除这个类里的所有警告:

2.@Deprecated注解: 这个注解大多数情况下是用来表示一个方法是过时方法的,一个方法上写了这个注解方法名就会显示一条横线,但是这个注解可以写在属性、类、方法、参数、构造器、包、局部变量上: 例如我写在方法上,这个方法就会显示一条横线:

3.@Override注解:

这个注解只能写在方法上,是用来表示这个方法是重写父类的:

以上就是常用的Java自带的注解。

创建注解类: 在创建工程或类的菜单栏中有一个选项:Annotation,这个选项是用来创建注解类的:

元注解是用于声明注解类的一些特性的,例如这个注解能写在什么地方、在哪个区域有效等等,先介绍一下几个常用元注解的作用: 1.@Target用于声明注解能写在什么地方,这个注解里有几个参数:

ElementType.FIELD: 能写在属性上ElementType.TYPE: 能写在类上ElementType.CONSTRUCTOR: 能写在构造器上ElementType.METHOD: 能写在方法上ElementType.ANNOTATION_TYPE: 能写在注解上ElementType.PARAMETER: 能写在参数上ElementType.LOCAL_VARIABLE: 能写在局部变量中

2.@Retention用于声明注解的有效区域,这个注解里也有几个参数:

CLASS: 在字节码也就是Class文件中有效,但是一旦加载后就无效了SOURCE: 只在源码中有效,字节码中没有RUNTIME: 代码在运行时就有效

3.@Inherited用于声明此注解在子类中有效。

4.@Documented用于声明此注解在javadoc文档中奏效。 代码示例:

如果声明在注解类上的属性没有写默认值的话,在写这个注解时就会强制要求写一个值,不然就会报错,不想它报错就需要用default关键字写一个默认值上去:

使用反射机制对注解进行访问: isAnnotationPresent方法可以判断属性、方法、构造器、类是否写有某个注解:

代码示例:

运行结果:

getAnnotations方法可以使用属性、方法、构造器、类的反射机制对象调用,得到所有的注解,返回的是Annotation数组对象: 代码示例:

运行结果:

getAnnotation方法可以获得指定的注解: 代码示例:

运行结果:

使用注解配置信息: 在注解里配置信息只需要根据注解类里申请的属性在括号里填写相对应的值即可,可以填写其中一个属性,也可以全部填写,如果没有默认值的属性则必须填写。

代码示例:

运行结果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容