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 取消警告提示。

 

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

 

posted @ 2019-05-25 23:04  Mirror王宇阳  阅读(206)  评论(0编辑  收藏  举报