类中使用@Override和不使用
有什么区别?

解决方案 »

  1.   

    @Override的用法:
    class superClass {
         void print(Stirng s){System.out.println(s);}
    }
    class subClass extends{
         @Override void print(String s){System.out.println(s);}
    }
        这样在使用subClass的对象调用pirnt(String s)的时候就可以调用subClass中的pirnt(String s),而不是superClass中的pirnt(String s)。
        但是在使用的过程中,有需要注意的地方函数要注意类型要求一样,参数列表相同,返回值也应该相同。如果不同则没有必要使用@Override来进行函数的重写,而是直接用函数重载就可以实现。
       说明白了就是可以用@Override来对函数进行重写(屏蔽原函数),而不是实现函数的重载。
      

  2.   

    个人认为不写的好,在不同的JDK上,不知道什么时候那些注解就冒出一个错误来了
      

  3.   

    1、所有方法都可以写或者不写@Override
    2、写了@Override,表示该类的方法覆盖了其父类的同名同参方法,如果方法写错了或者父类没有这个方法
       、父类的这个方法对子类不可见、父类方法为final、static等,编译就会报错
      

  4.   

    写上@Override,它的作用就会检查你重写是否有错,有错会报错,不写的话不会