已解决:谢谢大家的帮助,我最终像你们中的几个人所说的那样覆盖了 Person 中的方法。我的问题是 Character 甚至没有 doSomething,所以我最终做的只是将 doSomething 添加到 character 并且什么都不返回。这是因为我只需要担心 a(a person).doSomething(b)(a character) 的情况。
所以,我有一个方法,它接受两个参数,字符 a 和字符 b。
public static void giveMessage(Character a, Character b)
如果参数是 Person a(它是字符的子类)、Character b,我希望这个方法也能工作
public static void giveMessage(Person a, Character b)
我知道我可以通过重载方法来做到这一点,但它后面跟着大约 15 行代码。因此,如果我将其超载 3 次,它将变得冗长。这样做我真的没有问题,我只是想知道是否有更简单的方法。
更多信息:
giveMessage(Character a, Character b){
if(a instanceof Person){
a.doSomething(b)
doSomething 只能在 Person 中找到,所以它给了我一个错误,它在 Character 中找不到它。