gpt4 book ai didi

Java:调用未定义类型的方法

转载 作者:行者123 更新时间:2023-12-01 17:13:43 25 4
gpt4 key购买 nike

让我们看一下这段代码

MyClass object;
object=new MySubClass();

其中 MySubClass 扩展了 MyClass。之后,我想调用 MySubClass 的方法对象.myMethod();

我收到编译错误,但在运行时它应该可以工作。如果没有像这样的显式转换,我如何调用 myMethod ?((MySubClass)object).myMethod()

最佳答案

如果该方法是在子类中定义的,那么您将需要 instanceof子类 -

MyClass object; // <-- Make this MySubClass object; **OR**
object=new MySubClass();

// instanceof
if (object instanceof MySubClass) {
MySubClass msc = (MySubClass) object;
msc.doSomeMethod(); // <--
}

或者您可以使用 abstract methodMyClass -

public abstract class MyClass {
public abstract void doSomeMethod();
}

当然,MySubClass还必须有doSomeMethod()

public class MySubClass extends MyClass {
public void doSomeMethod() {
System.out.println("Hello");
}
}

那么你可以使用

object.doSomeMethod();

关于Java:调用未定义类型的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944821/

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