gpt4 book ai didi

java - 重写和重载之间的区别?

转载 作者:行者123 更新时间:2023-12-01 11:21:45 24 4
gpt4 key购买 nike

只是想澄清重载和重写方法之间的区别...考虑下面的场景;

假设我有一个类(class),就说“类主任”。假设我有子类“Apprentice 类”,这样两个类通过继承相关。

       public class Apprentice extends Master

假设主类包含 2 个 void 方法,每个方法都命名为 Attack,一个采用 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 类中定义的攻击方法是否会被重载或覆盖?

它不会被覆盖和重载吗!?

最佳答案

覆盖:

 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
}

它们是两个不同的概念。

关于java - 重写和重载之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com