zoukankan      html  css  js  c++  java
  • Java的 Annotation 新特性

      对于软件程序的开发经过了三个发展过程:

        —— 将所有配置相关的内容直接写到代码之中

        —— 将配置与代码程序独立,将程序运行的时候根据配置文件进行操作

        —— 配置信息对用户透明且无用,将配置信息写回代码之中,但是利用一些明显的标记来区分配置信息与程序

    Annotation是JDK1.5+最大的特性,利用注解的形式来实现程序功能的不同功能的实现

    在Java SE中支持自定义Annotation的开发,并且提供了三个最常用的基础:

      @Override  @Deprecate  @SupperssWarnings

    1、@Override 【准确的覆写】

       如果在输出对象的时候,希望其可以返回需要的内容,那么一定要进行 toString 方法的覆写。

    class Book {
        public String tostring() {  //该方法的目的是覆写toString方法
            //但是由于 该方法和Object类中的toString定义不同,无法实现覆写
            return tostring ;
        }
    }

    上例代码,由于没有按照覆写的格式定义覆写方法,所以无法完成覆写toString方法的功能,但是编译器不会报错,因为tostring方法的定义符合普通方法的定义要求。(结果会返回对象码)

    为了告诉编译器,tostring() 应该是覆写的方法,可以加上“@Override”;可以明确的告诉编译器,这个方法是覆写方法;如果编译器发现该方法不是覆写方法则会报错。

    class Book {
        @Override
        public String tostring() {  //该方法的目的是覆写toString方法
            //但是由于 该方法和Object类中的toString定义不同,无法实现覆写
            return "tostring" ;
        }
    }
    public class TestDemo {
        public static void main(String [] args) {
            System.out.println(new Book());    
        }
    }

     

    只有当tostring()按照正确的方法覆写后则不会在出现报错~~~

    class Book {
        @Override
        public String toString() {
            return "tostring" ;
        }
    }
    public class TestDemo {
        public static void main(String [] args) {
            System.out.println(new Book());    
        }
    }

     

    ##

    出现@Override注解,则表示下一行的方法为覆写方法,如方法未实现覆写功能则会报错!

     ——————————————————

    2、@Deprecat【声明过期操作】

      如果有一个功能包,里面有一个类;在该类中有一个fun()方法,在初期该方法非常的完善,但后期发现fun()方法有功能不足之处。

      选择一:取消掉fun()方法,同时设置fun()新的方法

      选择二:保存原fun()方法,但是会通过途径告诉别人此方法有问题,并提供新的fun()方法供开发者使用

      在实际开发当中,很明显后者优于前者!!!

      使用 @Deprecat 声明:

    class Book {
        @Deprecat
        public void fun() {}
    }
    public class TestDemo {
        public static void main(String [] args) {
            System.out.println(new Book().fun());    
        }
    }

     在IDE开发环境下,会字面上的对@Deprecat声明过的方法加删除线;目的就是告诉其他人,该方法以及过期,不必在使用。对于新旧代码功能的交替开发非常有益。

    ——————————————

    3、@SuppressWarnings【压制(多个)警告】

      部分程序会引发警告,而自己又不需要这些警告提醒!则可以利用 @SuppressWarnings 取消警告提示。

    ——————————————————

  • 相关阅读:
    田忌赛马(动态规划)
    关于程序中使用相对路径的小技巧
    ReadyGo新闻管理系统 使用号召帖
    解决:Visual Studio2005打开UTF8网页文件时出现乱码
    10个不为人知 但绝对值得收藏的网站
    幻数
    模板偏特化的威力
    c++ 拷贝
    win7下Visualbox 装Ubuntu10.10, 装eclipsecdt+svn插件全过程
    找完工作的心情
  • 原文地址:https://www.cnblogs.com/wangyuyang1016/p/10923856.html
Copyright © 2011-2022 走看看