override和overlode的区别 && @Override的作用

       override(重写)和overload(重载)是Java多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。

       如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (override)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(overload)。

        Overloaded的方法是可以改变返回值的类型。

===========================================================================================

       java.lang.Override是一个marker annotation类型,它被用作标注方法。它说明了被标注的方法重载了父类的方法,起到了断言的作用。这个annotaton常常在我们试图覆盖父类方法而确又写错了方法名时发挥威力。

       比如:如果想重写父类的方法,比如toString()方法的话,在方法前面加上@Override,系统可以帮你检查方法的正确性。
@Override
public String toString(){...}

       上面这是正确的,一旦写错写成这样:
@Override
public String tostring(){...}
       编译器可以检测出这种写法是错误的,这样能保证你的确重写的方法正确。 而如果不加@Override,public String tostring(){...}这样编译器是不会报错的,它只会认为这是你自己新加的一个方法而已。

===========================================================================================

 

 


参考原文:http://blog.sina.com.cn/s/blog_5da93c8f0100syaf.html

参考原文:http://www.cnblogs.com/lm002003/archive/2012/06/19/2555490.html

你可能感兴趣的:(JAVA)