JDK 1.5三的主要特性 —— Annotation

 

 

         在JDK 1.5之后,程序允许通过注解(Annotation)的方式来进行程序的定义,而在Java SE之中存在了三种Annotation:@Override、@Deprecated、@SuppressWarnings。

1   准确的覆写:@Override

         如果在进行方法的覆写过程之中,那么要求是:方法名称、参数的类型及个数完全相同,而在开发之中有可能会由于手误导致方法不能被正确的覆写。

package cn.mldn.demo;

class Message {

    public String tostring() {  // 原本打算覆写toString()

        return "Hello World ." ;   

    }

}

public class TestDemo {

    public static void main(String[] args) throws Exception {

        System.out.println(new Message());  // 错误

    }

}

         而这个时候没有出现任何的语法错误,因为JDK会认为tostring()是一个新的方法,所以不会出现编译的错误,可是从实际上来讲,这个方法应该是被覆写的,所以为了保证这种错误的问题在程序编译的时候可以正常解决,那么在方法覆写时可以增加上“@Override”定义。

package cn.mldn.demo;

class Message {

    @Override

    public String toString() {  // 原本打算覆写toString()

        return "Hello World ." ;   

    }

}

public class TestDemo {

    public static void main(String[] args) throws Exception {

        System.out.println(new Message());  // 错误

    }

}

2   声明过期操作:@Deprecated

         对于程序开发而言,往往一些使用的类要进行修改或者是维护,那么如果说现在一个类之中的某个方法,可能一开始推出的时候就存在了一些问题,在修改之后不希望人再去使用这些方法,那么肯定不能直接删除,因为如果直接删除了,那么之前的程序就会出现问题了,所以最好的做法是告诉用户:这个方法存在了问题,不建议再使用了,这个时候就使用“@Deprecated”声明。

package cn.mldn.demo;

class Message {

    @Deprecated

    public void print(){}

}

public class TestDemo {

    public static void main(String[] args) throws Exception {

        new Message().print();

    }

}

         如果日后在文档之中发现存在了“Deprecated”,就表示这个方法不建议用户继续使用了,就别用了。

3   压制警告信息:@SuppressWarnings

         程序在编译的时候如果存在了某些安全隐患,肯定会提示用户,所以不想让其显示的话,就增加压制警告的信息。

package cn.mldn.demo;

class Message<T> {

    @Deprecated

    public void print(){

        System.out.println("sss");

    }

}

public class TestDemo {

    @SuppressWarnings({ "rawtypes", "unused" })

    public static void main(String[] args) throws Exception {

        Message msg = new Message() ;

    }

}

         如果按照正常的开发来讲,以上的一些Annotation意义不大,只是一种使用上的习惯而已,但是如果要想真正的去研究Annotation使用,还是需要了解一些历史的,关于软件的开发模式:

                   · 第一阶段:会将所有的操作都写在程序之中,例如:网络程序,连接的服务器地址,用户验证等;

                   · 第二阶段:程序 + 配置文件,配置文件和程序相分离,配置文件过多;

                   · 第三阶段:将配置文件写回到程序之中,但是和程序进行有效的分离。

4、总结

         所有的JDK 1.5新特性要求先能看懂,能知道语法做什么,至于说什么时候用,怎么用,还不到时候呢。

         而此处讲解完成之后,Java的第一大重点面向对象部分就彻底讲完了。

posted on 2013-08-26 16:36  iyon  阅读(152)  评论(0编辑  收藏  举报

导航