笨鸟先飞之Java---缠缠绵绵的注解和注释

     在平时的编程中注释一直与我们为伴,但是在Java编程中我们会经常性的使用注解。一字之差,也不知是否会有“失之毫厘差以千里”之说??
     笨鸟先飞之Java---缠缠绵绵的注解和注释_第1张图片一起来看:

 一、注解:

    ❁ 首先来看在ITOO Java中使用的注解:
	@Stateless(name = "SystemStudentIdModuleValueBean")
	@Remote(SystemStudentIdModuleValueBean.class)
	@TransactionManagement(TransactionManagementType.CONTAINER)
	@TransactionAttribute(TransactionAttributeType.REQUIRED)
	public class SystemStudentIdModuleValueBeanImpl extends BaseBeanImpl implements
			SystemStudentIdModuleValueBean {
			
			}

    从本质上说,注解就是一种类型!它可以定义、使用,以及包含有自己的属性、方法。
    先来对注解这个东西进行一下宏观的了解:

    1).注解这个东西主要是给编译器看的,比如最常见的@override表示这个方法重写了父类中的方法;


    2).大家共同认可的,就可以使用一个公式来代替,以节省代码:这就是注解


    3).注解为我们在代码中添加信息提供了一种形式化的方法,使我们可以在之后的某个时刻方便的使用这些数据(通过解析注解来使用这些数据),常见的作用有如下几种:
     ○ 生成文档:这是最常见的,也是Java最早提供的注解,常用的有@see,@param,@return等
     ○ 跟踪代码依赖性,实现替代配置文件的功能。现在的框架基本上都使用了这种配置里减少配置文件的数量。

     ○ 在编译时进行格式检查。如@override放在方法钱前,如果这个方法并不是覆盖的超类的方法,则会在编译时被检查出来。


    其次,当我们定义了注解,难道直接使用??肯定不是的呗!!    
    在使用反射之前必须使用import java.lang.reflect.* 来导入和反射相关的类。
    α要得到某一个类或接口的注解信息,可以使用如下代码:
        Annotation annotation = TestAnnotation.class.getAnnotation(MyAnnotation.class);
    β要得到全部的注解信息可使用如下语句:
        Annotation[] annotations = TestAnnotation.class.getAnnotations();或
        Annotation[] annotations = TestAnnotation.class.getDeclaredAnnotations();  
    γ要得到其它成员的注解,可先得到这个成员,然后再得到相应的注解。如得到myMethod的注解。
        Method method = TestAnnotation.class.getMethod("myMethod", null);
        Annotation annotation = method.getAnnotation(MyAnnotation.class);


PS:要想使用反射得到注解信息,这个注解必须使用@Retention(RetentionPolicy.RUNTIME)进行注解。

   所以注解是编程给我们提供的一个桥梁,帮我们摆脱繁杂无序的代码,使我们无限靠近“面向对象”这座城堡,让我们走向编程世界的更远方:

        笨鸟先飞之Java---缠缠绵绵的注解和注释_第2张图片

二、注释

    对于每日相伴的注释我们应该很熟悉:主要是帮助我们理解某些代码的或者用来记录一些信息(比如开发时间、开发人员),在myEclipse中:
    • 单行注释:Ctrl+/   : 在行代码上打上双斜线。
    • 多行注释:/**/
    • .jsp页面的注释:<-- 这是要被注释掉的内容 -->
    • .properties页面注释:将键盘切换到英文状态,使用#(或者!)进行注释

   所以注释就像是编程向我们伸出的援助之手,随时向我们提供帮助:

        笨鸟先飞之Java---缠缠绵绵的注解和注释_第3张图片

三、总结:

    注解和注释虽然一字之差,却带着我们走入两个不同的世界,一个帮助我们理解(不会对编译器或者程序造成影响),一个通过对配置文件的封装帮助我们高效开发:

    注解是J2SE5.0提供的一项非常有趣的功能。它不但有趣,而且还非常有用。如即将出台的EJB3.0规范就是借助于注解实现的。这样将使EJB3.0在实现起来更简单,更人性化。还有Hibernate3.0除了使用传统的方法生成hibernate映射外,也可以使用注解来生成hibernate映射。总之,如果能将注解灵活应用到程序中,将会使你的程序更加简洁和强大。

   到这里,"形似"的注解和注释就说完了,如果有什么问题,欢迎大家踊跃拍砖。也期待大家的交流和意见哦:

          笨鸟先飞之Java---缠缠绵绵的注解和注释_第4张图片
   

你可能感兴趣的:(java,笨鸟先飞)