对于软件程序的开发经过了三个发展过程:
—— 将所有配置相关的内容直接写到代码之中
—— 将配置与代码程序独立,将程序运行的时候根据配置文件进行操作
—— 配置信息对用户透明且无用,将配置信息写回代码之中,但是利用一些明显的标记来区分配置信息与程序
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 取消警告提示。
——————————————————