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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴亨 黑马帝   /  2012-2-9 16:29  /  1766 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  public @interface Annotation {
       String color();  //明明是属性,为何要写成方法的形式。是硬性规定吗?
}

7 个回复

正序浏览
吴亨 黑马帝 2012-2-10 19:46:01
8#
李泽霖 发表于 2012-2-10 10:58
使用@interface注解定义Annotation型态时,实际上是自动继承了java.lang.annotation.Annotation接口有编译 ...

把color定义成成员变量不更简单吗?直接Annotation.color不就可以引用了吗?

评分

参与人数 1技术分 +2 收起 理由
admin + 2 不懂就问,赞一个

查看全部评分

回复 使用道具 举报
吴亨 黑马帝 2012-2-10 19:45:43
7#
李泽霖 发表于 2012-2-10 10:58
使用@interface注解定义Annotation型态时,实际上是自动继承了java.lang.annotation.Annotation接口有编译 ...

兄弟,有点绕,小弟没读太明白。
回复 使用道具 举报
使用@interface注解定义Annotation型态时,实际上是自动继承了java.lang.annotation.Annotation接口有编译程序自动完成其他产生的细节在定义Annotation型态时,不能继承其他的Annotation型态或是接口,当自定义一个接口,并且让该接口继承自Annotation,那么我们所定义的接口依然还是接口而不是注解;可以与enum类比。我认为可以把定义的String color();看做注解参数类型也可看做被描述类或方法的属性值,因为使用时是这样的@annotation(color=“blue”);
回复 使用道具 举报
寻找幸福的13狼 发表于 2012-2-9 23:38
String color这样是一个成员变量  而String color()则是一个方法。方法名为color 返回类型为String ...

对啊,把color定义成成员变量不更简单吗?直接Annotation.color不就可以引用了吗?
回复 使用道具 举报
String color这样是一个成员变量  而String color()则是一个方法。方法名为color 返回类型为String
回复 使用道具 举报
杜明辉 发表于 2012-2-9 16:38
注解(Annotation) 为我们在代码中天界信息提供了一种形式化的方法,是我们可以在稍后

某个时刻方便地使 ...

public @interface Annotation {
       String color;  //为什么不这样写呢?作为一个成员变量不也可以引用吗?
}
回复 使用道具 举报
注解(Annotation) 为我们在代码中天界信息提供了一种形式化的方法,是我们可以在稍后

某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据)。

注解的语法比较简单,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种

注解,定义在java.lang包中。

      @Override 表示当前方法是覆盖父类的方法。

      @Deprecated 表示当前元素是不赞成使用的。

      @SuppressWarnings 表示关闭一些不当的编译器警告信息。

public @interface Annotation
应该是定义了一个接口,这个接口里定义了一个方法。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马