1.程序允许通过注解(Annotation)的方式进行程序的定义,而在java SE中存在3中注解:@Override、@Deprecate和@Suppress Warnings.
2.准确的覆写方法:@Override
在进行方法覆写的过程中,要求方法的名称、参数的类型及个数完全相同,而在开发时可能手误导致方法不能正确地覆写,而加上了"@Override"之后可以准确的进行方法地覆写.
class Message{
public String toString(){ //原本打算覆写toString
return "Hello World"
}
}
public class Test2{
public static void main(String []args) throw Exception
System.out.println(new Message()); //错误
}
}
原本打算在Message覆写类中Object的toString()方法的,但是编写方法时没有写出正确的方法名称,所以就没有发生准确的覆写,而JDK也只会认为toString是一个新的方法,所以编译不会出错,可从实际上讲,这个方法应该是被覆写了的,为了保证在编译时正常解决,在方法覆写可以增加@Override定义
准确的覆写
class Message{
@Override
public String toString(){ //此方法为覆写而来
return "Hello World"
}
}
public class Test2{
public static void main(String []args) throw Exception
System.out.println(new Message()); //正确
}
}
此时在toString()方法加入@Override注释后,就表示toString是覆写父类的方法,如果toString()出现语法错误,编译时会直接提示错误.
2.声明过期操作:@Deprecated
一些类要进行修改或者维护,如果现在一个类中的某个方法可能一开始推出就存在一些问题,在修改后不希望再被使用,那么肯定不能直接删除,一旦直接删除,之前就会出现问题,所以告诉用户:这个方法存在问题,不建议在使用.
Me类的print()方法上使用了@Deprecated标记过期声明,所以用户在使用此方法时,会给与警告提示.
3.压制警告信息:@SuppressWarnings
如果存在安全隐患,肯定会提示用户,如果不想让其显示,就增加压制警告信息.
存在两种警告:一个使用了过期方法,另一个是实例化Message时没有设置泛型,而这些警告信息由于存在@SuppressWarnings,所以编译不会出现警告信息.