(一)注解的介绍
- 注解:(也被称为元数据),为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。
- 注解在一定程度上是把元数据与源代码文件结合在一起,而不是保存在外部文档中。
- 它们可以提供用来完整描述程序所需要的信息,而这些信息是无法用Java来表示的。
- 注解是我们能够以将编译器来测试和验证的格式,存储有关程序的额外信息。
- 注解的优点:更加干净易读的代码以及编译期类型检查。
JDK1.5内置了三种,定义在java.long中的注解:
(1)准确覆写:Override
(2)声明过期:Deprecated
(3)压制警告:SuppessWarnings
(二)准确覆写(Override)
- 表示当前的方法定义将覆盖超类中的方法。如果不小心拼写错误,或者方法签名对不上被覆盖的方法,编译器就会发出错误提示。
- 发生在继承关系之中,子类定义了与父类的方法名称相同、参数列表相同、返回值类型相同称为方法的 覆写,被覆写的方法不能够拥有比父类更为严格的访问控制权限。
- Override的使用
举例1:
package www.fanfan.com;
class Dog{
//覆写toStrig()方法
@Override
public String toString(){
return "这是一只小狗";
}
//若没有使用Override声明的话,如果拼写错误,就相当于定义了一个新的方法
//此处就是tostring拼写错误,但是因为没有使用Override ,因此相当于定义了一个新的方法,并不会发出警告
//public String tostring(){
// return "hello";
// }
}
public class OverrideTest {
public static void main(String[] args) {
Dog dog = new Dog();
System.out.println(dog);
}
}
(三)声明过期(Deprecated)
- 如果编译器使用了注解为Deprecated的元素,那么编译器会发出警告信息。
- 假设一个方法在旧的版本中都可以私用,但是在最新的版本中不能使用,但是删除的话会影响旧版本的使用,此时就可以加一个@Deprecated 注解,表明在新版本中这是一个过期的方法。
- 如果标明了一个方法已经过期,那么使用了也不会出错,在使用的时候会明确的标明过期。
- Deprecated的使用
举例2:
package www.fanfan.com;
class Dog{
@Deprecated
public void print(){
System.out.println("此方法不能使用");
}
}
public class OverrideTest {
public static void main(String[] args) {
Dog dog = new Dog();
dog.print();
}
}
(四)压制警告(SuppressWarnings)
- 当调用了某些操作可能产生问题的时候就会出现警告进行,但是警告信息并不是错,这个时候又不想总提示警告,这个时候可以使用压制警告。用来关闭不当的编译器警告信息。
举例3:
SuppessWarnings的使用:
package www.fanfan.com;
class Dog{
//覆写toStrig()方法
@Override
public String toString(){
return "这是一只小狗";
}
@Deprecated
public void print(){
System.out.println("此方法不能使用");
}
}
public class OverrideTest {
//使用@SuppessWarnings 不会产生警告。
@SuppressWarnings({ "rawtypes", "unused" })
public static void main(String[] args) {
Dog dog = new Dog();
dog.print();
}
}