gpt4 book ai didi

java - 你能重写一个父类(super class)的方法并且……

转载 作者:搜寻专家 更新时间:2023-11-01 04:01:53 24 4
gpt4 key购买 nike

更改访问修饰符

  • 从公共(public)到私有(private)
  • 从私有(private)到公共(public)

更改 throw 子句

  • 更多异常(exception)情况
  • 更少的异常(exception)

改变返回类型

  • 一个子类型
  • super 类型

拜托,有人能解释一下吗?

最佳答案

以下是重写的一些规则:

  • 更改访问修饰符

    你不能降低可见度

    因为当您由于可见性下降而无法访问子类的重载方法时,它会在运行时破坏整个事情。

    假设该方法在父类(super class)中是公共(public)的,并且您在子类中覆盖时将其更改为私有(private),但由于您有父类(super class)的引用,因此编译器不会报错,但在运行时它会崩溃。

  • 修改throw子句

    你不能抛出较新的已检查或更广泛的异常

    同样的事情也适用于此,因为编译器会寻找父类(super class)方法进行抛出,但如果在运行时子类抛出新的或更广泛的异常,那么谁负责处理所有应该捕获的新检查异常编译时间。

  • 更改返回类型

    只有 Covariant return type支持

    注意:协变返回类型,意味着返回类型允许与子类同向变化。

关于java - 你能重写一个父类(super class)的方法并且……,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781825/

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