A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐鑫 中级黑马   /  2012-4-21 19:58  /  3794 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 徐鑫 于 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();
}

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

6 个回复

倒序浏览
如果你的m某个class类添加了这个@ItcastAnnotation 注解
那调用这个注解下面的clolr()方法先执行下面语句

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

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
岳民喜 发表于 2012-4-21 20:15
如果你的m某个class类添加了这个@ItcastAnnotation 注解
那调用这个注解下面的clolr()方法先执行下面语句

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

当然注解类有它注解类的特有用途,如果你只是想写个共同方法,
一个普通类就能实现,没必要那么麻烦用注解类, 我这里只是说你题目里提到的调用方式,
张老师视频里面还没讲到更深的用途,所以注解的其他用途我也还不知道,
等学习到注解更深知识的时候我们可能就都明白了
回复 使用道具 举报
岳民喜 发表于 2012-4-21 20:53
当然注解类有它注解类的特有用途,如果你只是想写个共同方法,
一个普通类就能实现,没必要那么麻烦用注 ...

哦,谢谢版主:lol
回复 使用道具 举报
岳民喜 黑马帝 2012-4-22 10:49:21
7#
徐鑫 发表于 2012-4-21 21:40
哦,谢谢版主

共同进步!;P
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马