黑马程序员_高新技术之注解浅谈

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------


一、注解的概述

注解相当于一种标记,在程序中加入了注解就等于为程序打上了某种标记,没加,则等于没有某种标记。开发工具和其他程序都可以用反射来了解类及各种元素上有五标记,及查看标记种类,然后去做相对应的事情。

注解可以加在包、类、字段、方法、方法的参数以及局部变量上。


二、注解的应用结构图


、Java提供的几个基本注解

1、@SuppressWarnings 的应用

通过System.runFinalizersOnExit(true); 编译器会发出警告

这时候只需要加上@SuppressWarnings(“deprecation”) 表示禁止警告(过期)。

2、@Deprecated

在方法上面加@Deprecated表示该方法过期,不建议试用。

3、@Override

@Override表示下边的方法是继承父类方法,对其覆盖。


四、自定义注解及其应用

1、定义一个简单的注解

<span style="font-size:18px;"><span style="white-space:pre">	</span>public @interface MyAnnotation{}</span>
2、将定义的注解应用在类中

<span style="font-size:18px;"><span style="white-space:pre">	</span>@ MyAnnotation
<span style="white-space:pre">	</span>public Class AnnotationTest{
      
<span style="white-space:pre">	</span>}</span>
3、用反射进行测试AnnotationTest类的定义是否有@MyAnnotation

根据测试结果引出了@Retention元注解,元注解有三个值,分别是:

1>、RetetionPolicy.SOURCE 对应java源文件即编译时期

2>、RetetionPolicy.CLASS 对应Class文件

3>、RetetionPolicy.RUNTIME 对应内存中的字节码文件,即运行时期

4、@Target元注解

@Target的默认值为任何元素,设置Target等于ElementType.METHOD,原来加在类上的注解就报错了,改为用数组方式设置{ElementType.METHOD, ElementType.TYPE}就可以了。

元注解及其枚举属性值都在java.lang.annptation包下面的类中。


五、为注解增加基本属性

1、我们知道注解的声明和接口类似,那么,我们也可以为其添加属性

从java语言规范中得知,对于注解的属性类型有限制,只能是8个基本类型、String类型、Enum类型、Annotation注解类型和Class类型。

<span style="font-size:18px;"><span style="white-space:pre">	</span>public @interface MyAnnotation{
     <span style="white-space:pre">		</span>String  name()  default "张三";  //添加String类型的属性,并设置默认(缺省)值为 张三。</span>
<span style="font-size:18px;"><span style="white-space:pre">		</span>int[]  arr()   defauult  {1,2,3,4,5};<span style="white-space:pre">	</span>//添加数组类型的属性,并设置默认(缺省)值。
<span style="white-space:pre">	</span>}</span>
2、添加了属性值的注解使用方法

@MyAnnotation(name = "张三", arr = {1,2,3,4,5})

如果数组属性中只有一个元素,这时候属性值部分可以省略大括号。

3、枚举和注解类型的属性

枚举和注解都是特殊的类,不能用new创建他们的实例对象,创建枚举的实例对象就是在其中添加元素。


---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

详细请查看:www.itheima.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值