Eclipse3.1中体验J2SE5.0之注释类型

不想那一抹悠然

不想那一抹悠然

2016-02-19 19:10

下面,图老师小编带您去了解一下Eclipse3.1中体验J2SE5.0之注释类型,生活就是不断的发现新事物,get新技能~

  J2SE 5.0 (Tiger)的发布是Java语言发展史上的一个重要的里程碑, 是迄今为止在 Java 编程方面所取得的最大进步。
  J2SE 5.0提供了很多令人激动的特性。这些特性包括范型(generics)的支持, 枚举类型(enumeration)的支持, 元数据(metadata)的支持, 自动拆箱(unboxing)/装箱(autoboxing), 可变个数参数(varargs), 静态导入(static imports), 以及新的线程架构(Thread framework)。

  随着J2SE 5.0的推出, 越来越多的集成开发环境(IDE)支持J2SE 5.0的开发。 闻名的开源Java IDE Eclipse从3.1M4开始支持J2SE 5.0的开发, 目前最新的版本是3.1RC4。

  本系列将介绍J2SE 5.0中三个比较重要的特性: 枚举类型, 注释类型, 范型, 并在此基础上介绍在如何在Eclipse 3.1开发环境中开发枚举类型, 注释类型和范型应用。本文将介绍注释类型。

  注释类型

  1、注释类型简介

  J2SE 5.0提供了很多新的特性。其中的一个很重要的特性,就是对元数据(Metadata)的支持。在J2SE5.0中,这种元数据叫作注释(Annotation)。通过使用注释, 程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充的信息。代码分析工具,开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。举个例子,比如说你希望某个方法的参数或者返回值不为空,虽然我们可以在Java doc中说明,但是表达同样意思的说法有很多,比如"The return value should not be null"或者"null is not allowed here"。测试工具很难根据这些语言来分析出程序员所期望的前提条件(Pre-condition)和执行后的条件(Post-condition)。 而使用注释(Annotation),这个问题就可以轻而易举的解决了。

  2、定义注释

  J2SE5.0支持用户自己定义注释。定义注释很简单,注释是由@Interface要害字来声明的。比如下面是一个最简单的注释(Annotation)。

  清单1一个最简单的注释

  public @interface TODO{}
  除了定义清单1中的注释以外,我们还可以在注释(Annotation)中加入域定义。方法很简单,不需定义Getter和Setter方法,而只需一个简单的方法,比如:

  清单2 为注释加入域

  public @interface TODO{
   String priority();
  }
  定义了这个注释之后,我们在程序中引用就可以使用这个注释了。

  清单3 使用自定义的注释

  @TODO(
   priority="high"
  )
  public void calculate(){
   //body omission
  }
  由于TODO中只定义了一个域,使用TODO的时候,可以简写为

  清单4 单域注释的简写

  @TODO("high")
  类似的,你可以在你的注释(Annotation)类型中定义多个域,也可以为每个域定义缺省值。比如:

  清单5定义缺省值

  public @interface TODO{
   String priority();
   String owner();
   boolean testable() default true;
  }
  假如定义了缺省值,在使用的时候可以不用再赋值。比如:

  清单6使用定义了缺省值的注释

  @TODO(priority="high",owner="Catherine" )
  public void calculate(){
   //body omission
  }
  在这个例子中,testable用缺省值true。

  和上文一样,我们使用Eclipse 3.1作为集成的编译运行环境。Eclipse 3.1提供了向导帮助用户来定义注释。 1.首先我们创建一个Plug-in 项目,com.catherine.lab.annotation.demo。在Package EXPlorer中选中包package com.catherine.lab.annotation.demo, 2.点击New-Other-Java-Annotation,弹出了下面的对话框。4.输入注释的名称,在这里例子中输入TODO, 点击Finish, 图2中的注释就生成了。

   

  图1 创建注释向导

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

   

  图2 注释向导生成的代码

  1) 注释的类型

  从上面的例子中,我们可以看出,按照使用者所需要传入的参数数目, 注释(Annotation)的类型可以分为三种。

  第一种是标记注释类型:

  标记注释(Marker)是最简单的注释, 不需要定义任何域。下面要介绍的Override和Deprecated都是标记类型的。当然,假如一个注释类型提供了所有域的缺省值,那么这个注释类型也可以认为是一个注释类型。使用标记类型的语法很简单。

  清单7 标记注释的用法

  @MarkerAnnotation
  第二种是单值注释类型:单值注释类型只有一个域。语法也很简单:

  清单8 单值注释的用法

  @SingleValueAnnotation("some value")
  第三种是全值注释类型。 全注释类型其实并不算是一个真正的类型,只是使用注释类型完整的语法:

  清单9 全值注释的用法

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  @MultipleValueAnnotation(
  

展开更多 50%)
分享

猜你喜欢

Eclipse3.1中体验J2SE5.0之注释类型

编程语言 网络编程
Eclipse3.1中体验J2SE5.0之注释类型

J2SE1.5 注释语法

Java JAVA基础
J2SE1.5 注释语法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

各种系统安装J2SE5.0 JDK和NetBeans4.1

编程语言 网络编程
各种系统安装J2SE5.0 JDK和NetBeans4.1

J2SE中的序列化之继承

Java JAVA基础
J2SE中的序列化之继承

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用J2SE 5.0创建定制的泛型集合

编程语言 网络编程
用J2SE 5.0创建定制的泛型集合

Eclipse 3.1中的Java泛型支持

编程语言 网络编程
Eclipse 3.1中的Java泛型支持

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Access 2007的飞跃

Access 2007的飞跃

J2SE 6 在国际化方面的增强

J2SE 6 在国际化方面的增强
下拉加载更多内容 ↓