gpt4 book ai didi

java - 如何根据变量类型选择使用的方法

转载 作者:行者123 更新时间:2023-12-01 18:40:22 25 4
gpt4 key购买 nike

这是我的问题:我有一个类 Piece,其方法 getName 返回“P”(这只是一个示例)我有另一个类 King 扩展了 Piece 并重新定义了 getName 方法以返回“K”。

现在我有一个 Piece 数组(Piece[] array)(在这个数组中有实例 King 的对象)当我从所有这些对象调用 getName 时,我总是从所有对象中获取“P”。我想从 King 对象中获取“k”,从 Piece 对象中获取“P”。这是一个例子:

Piece[] p = new Piece[1];
p[0] = new King();
p[0].getName() //I got "P" not "K"

如何解决我的问题?

谢谢。

最佳答案

由于您没有展示任何代码,我将向您展示一个简单的示例:

public class Piece {

public String getName() {
return "P";
}
}

public class King extends Piece {

@Override
public String getName() {
return "K";
}
}

public class JavaTest {

public static void showNames(Piece[] p) {
for (Piece x : p) {
System.out.println(x.getName());
}
}

public static void main(String[] args) {

Piece[] p = new Piece[]{
new Piece(),
new King()
};

showNames(p);
}
}

输出

P
K

关于java - 如何根据变量类型选择使用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166570/

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