@Override:用于重写方法的前面,例如只能写在fly的上面,不能写在class Son的上面,即使删掉了override,重写了还是重写了,不会受影响。  

 总结:

    1、@Override 表示指定重写父类的方法(从编译层面验证),如果父类没有fly方法,则会报错

    2、如果不写@Override 注解,而父类仍有 public void fly(){},仍然构成重写

    3、@Override 只能修饰方法,不能修饰其它类,包,属性等等

    4、查看@Override注解源码为 @Target(ElementType.METHOD),说明只能修饰方法

    5、@Target 是修饰注解的注解, 称为元注解,记住这个概念

 

@Deprecated的说明

1.用于表示某个程序元素(类,方法等)已过时,但是还可以用

2.可以修饰方法,类,字段,包,参数 等等

3.@Target(value={CONSTRUCTOR, FIELD, LOCAL VARIABLE, METHOD3.PACKAGE,PARAMETER, TYPE})

4.@Deprecated 的作用可以做到新旧版本的兼容和过渡

 

@SuppressWarnings:抑制警告