黑马程序员技术交流社区

标题: (自定义注解)如何运用注解??? [打印本页]

作者: 徐鑫    时间: 2012-4-21 19:58
标题: (自定义注解)如何运用注解???
本帖最后由 徐鑫 于 2012-4-21 21:43 编辑

在视频学习注解时,说注解在开发中有很大的作用,我不知道它(自定义注解)对开发起了什么作用?

比如我定义如下的一个注解,它是在运行时、方法上起作用,那我定义一个color() ,问如何使用这个color() ?(这里color() 只是一个例子,如果大家有别的例子也可以使用
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
import HEIMA_Enum.EnumTest;
@Retention(RetentionPolicy.RUNTIME)//注解的注解(元注解)RetentionPolicy是个枚举(source,class,runtime)
@Target({ElementType.METHOD,ElementType.TYPE})//指定注解所添加的类型,ElementType是个枚举
public @interface ItcastAnnotation {
    String color() default "blue";
    int [] arrayAtrr();
    MetaAnnotation annotation();
}


作者: 岳民喜    时间: 2012-4-21 20:15
如果你的m某个class类添加了这个@ItcastAnnotation 注解
那调用这个注解下面的clolr()方法先执行下面语句

ItcastAnnotation  itant = (ItcastAnnotation)class.Class
然后
itant.color();就可以直接调用到color()方法了

作者: 徐鑫    时间: 2012-4-21 20:22
岳民喜 发表于 2012-4-21 20:15
如果你的m某个class类添加了这个@ItcastAnnotation 注解
那调用这个注解下面的clolr()方法先执行下面语句

打个比喻,那这样就相当于写了个共同方法,需要的话就进行添加注解调用方法?
作者: 黑马罗坚    时间: 2012-4-21 20:29
注释可以帮助我们更好的阅读理解代码 当你今天写了个程序过段时间你在看你自己写的代码如果没注释的话 你看起来会很痛苦的 有可能不知道某些代码表达的是什么意思  当一个公司A员工程序写了一半  中途有特殊情况需换个人继续完成它的工作 没有注释会很难上手接着他的代码吧程序写完
和用javadoc.exe生成注释文档 帮助我们更好的了解别人写的工具 因为你拿到的类一般都是.class的难道还要反编译这些类去了解这些类有什么方法  有什么动能等等 别人直接写个帮助文档让你更清楚的了解不是很好嘛
作者: 岳民喜    时间: 2012-4-21 20:53
徐鑫 发表于 2012-4-21 20:22
打个比喻,那这样就相当于写了个共同方法,需要的话就进行添加注解调用方法? ...

当然注解类有它注解类的特有用途,如果你只是想写个共同方法,
一个普通类就能实现,没必要那么麻烦用注解类, 我这里只是说你题目里提到的调用方式,
张老师视频里面还没讲到更深的用途,所以注解的其他用途我也还不知道,
等学习到注解更深知识的时候我们可能就都明白了

作者: 徐鑫    时间: 2012-4-21 21:40
岳民喜 发表于 2012-4-21 20:53
当然注解类有它注解类的特有用途,如果你只是想写个共同方法,
一个普通类就能实现,没必要那么麻烦用注 ...

哦,谢谢版主:lol
作者: 岳民喜    时间: 2012-4-22 10:49
徐鑫 发表于 2012-4-21 21:40
哦,谢谢版主

共同进步!;P




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2