java - 方法重载和覆盖有什么区别?

标签 java overloading overriding

重载方法和覆盖方法有什么区别?谁能举例说明一下?

最佳答案

方法重载处理在同一个类中有两个或多个方法具有相同名称但不同参数的概念。

void foo(int a)
void foo(int a, float b)

方法覆盖意味着有两个方法具有相同的参数,但不同的实现。其中一个将存在于父类中,而另一个将存在于派生类或子类中。 @Override 注释虽然不是必需的,但对 enforce proper overriding of a method 很有帮助。在编译时。

class Parent {
    void foo(double d) {
        // do something
    }
}

class Child extends Parent {

    @Override
    void foo(double d){
        // this method is overridden.  
    }
}

关于java - 方法重载和覆盖有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12374399/

相关文章:

java - 如果读取时出现 IOException,如何返回 500 状态码

Java Selenium Webdriver : Element not clickable

java - HTTP Post 请求 Android

vba - 重载属性

java - 如何向 Jframe 添加抽象方法?

java - 应用关闭时的Android调用功能

java - 参数化方法的方法重载和默认返回类型

c++ - 为什么我们在重载赋值运算符时必须清空当前 vector ? C++

c# - 如何在静态类中覆盖 ToString?

c# - 为什么我的子类需要用默认参数覆盖?