gpt4 book ai didi

java - 是否可以从父类型调用子静态方法?

转载 作者:太空宇宙 更新时间:2023-11-04 09:19:07 24 4
gpt4 key购买 nike

我有 3 个子类 Child_1、Child_2、Child_3,每个子类都有唯一的 imagePath。

因此,我实现了 public static String getImage() 因为所有实例共享相同的图像。

问题就在这里。我想从父实例 p 调用子静态方法。

private Image showImage(Parent p){
Image image = null;
try {
image = new Image(new FileInputStream(m.getImage()); // <- static method call
}catch(FileNotFoundException e) {
e.printStackTrace();
}
return image;
}

当然,我可以使用instanceof并调用基于类的静态方法。

if(m instanceof Child_1) Child_1.getImage();
else if (m instance of Child_2) Child_2.getImage();
else Child_3.getImage();

假设我有10个子类,使用if else语句并一一调用它并不容易。

有没有办法从Java中的父实例调用子静态方法?

最佳答案

为什么你首先希望该方法是静态的?您需要创建一个可能是抽象的父类,然后无论如何都使用运行时多态性。

关于java - 是否可以从父类型调用子静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58578130/

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