Overload 和 Override 的区别。Overload 的方法是否可以改变返回值的类型?

参考解答

  • 方法重载(Overload)发生在:
    • 同一个类中多个同名方法上,既可以是静态方法也可以是成员方法
    • 这些方法名称要相同,但参数个数或类型不同
    • 方法重载不关心返回值类型
  • 方法重写(Override)发生在:
    • 实现类实现了接口中的抽象方法时
    • 子类的方法覆盖了父类的方法时:名称相同,参数相同,返回值类型一致
    • 子类的方法访问修饰符必须比父类宽泛、返回值类型必须比父类返回值类型 狭窄、声明抛出的异常类型也必须比父类的异常类型狭窄
    • 静态方法不能被重写,只能被隐藏

results matching ""

    No results matching ""