覆盖和重载之间的区别?

时间:2015-06-30 21:53:46

标签: java methods polymorphism overloading override

试图澄清重载和放大之间的区别重写方法......考虑下面的场景;

说我上课了,让我们说“班主任”。假设我有子类,'类Apprentice',这样两个类通过继承相关。

       public class Apprentice extends Master

假设主类包含2个每个命名攻击的void方法,一个采用Single字符串参数,另一个采用String和Int参数。

        public class Master{
void attack(String bodyPart){
//code for attacking
}

void attack(String bodyPart, int Damage){
//code for specific attack
}

如果Apprentice类有2个名称完全相同的方法,它们采用完全相似的参数,那么Master类中定义的攻击方法是否会被重载或覆盖?

不会被覆盖和超载!?

1 个答案:

答案 0 :(得分:1)

重写:

 class A {
     public void do() { /* ... */ }
 }

 class B extends A {
     @Override
     public void do() { /* ... */ } // have an other definition than the one in A
 }

重载:

class C {
    public void do(E e) { /* ... */ }
    public void do(E e, F f) { /* ... */ } // same name but different arguments
}

它们是两个不同的概念。