【问题标题】:what are the different ways in which a method can be overridden in java?在java中可以覆盖方法的不同方式是什么?
【发布时间】:2015-09-19 10:56:38
【问题描述】:

编辑:我的问题是子类方法中可以使用哪些不同的访问修饰符、返回类型和参数列表,从而覆盖同名的超类方法?

【问题讨论】:

标签: java polymorphism overloading


【解决方案1】:

当同一类中的两个或多个方法具有完全相同的名称但参数不同时,会发生 Java 中的方法重载。

但是,我想你的意思是覆盖,因为你在谈论继承:

在 Java 中,仅当子类具有具有相同签名的方法时,方法才会被覆盖。

方法签名仅由方法的名称参数类型及其顺序组成。

【讨论】:

  • 抱歉将覆盖拼写错误为重载。我想知道的是访问修饰符(公共、私有、最终等)在被覆盖的方法中是否可以不同?
  • @Amina .. 方法签名仅由方法名称、参数类型、顺序和编号组成
【解决方案2】:

您不能通过更改返回值(尽管您可以覆盖和专门化它)或访问修饰符(尽管您可以覆盖它并使其“更易于访问”)来重载方法。只有参数列表可以用于重载方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多