gpt4 book ai didi

java - 继承 - 调用什么方法?

转载 作者:行者123 更新时间:2023-12-01 19:53:35 25 4
gpt4 key购买 nike

我有一个 A 类,它扩展了 B 类。

A是这样定义的,它还重写了B的一个方法:

class A extends B
{
public A() {
super();
}

@Override
public void doSomething(){
//does something
}
}

B 的定义如下:

public class B
{
public B(){
doSomething();
}

public void doSomething(){
//does something
}
}

因此,如果我初始化 A 的一个对象,构造函数将调用调用方法 doSomething() 的父类(super class)之一。但哪一个会被处决呢? B 的实现还是 A 中的重写实现?

最佳答案

这是一个常见的错误,只有在构造函数中调用final方法,A中的方法才会被调用。

Btw Sonar(如果有的话)将在此处触发一条规则,表明您不应在构造函数内调用多态方法。

关于java - 继承 - 调用什么方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50393071/

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