gpt4 book ai didi

java - 没有类型转换的不同类的数组列表?

转载 作者:行者123 更新时间:2023-11-29 07:09:00 25 4
gpt4 key购买 nike

首先让我说,我确实搜索了几个小时,但没有找到我需要的东西。

我需要遍历类(应用程序)数组并使用当前应用程序的变量和方法。

public class App {
public final Integer number = 0;
}

public class Player extends App {
public final Integer number = 1;
}

public class Navigation extends App {
public final Integer number = 2;
}

public class Phone extends App {
public final Integer number = 3;
}


private ArrayList<App> apps = new ArrayList<App>();

apps.add(new Player());
apps.add(new Navigation());
apps.add(new Phone());

如果我愿意

apps.get(0).number //  = 0

我得到父(app)的号码

如果我把它投给玩家

(Player) apps.get(0).number //  = 1

我得到了想要的结果

现在,我想在应用程序的多个位置运行所有 N 个应用程序(可能超过 3 个)但我不想这样做:

if (gun instanceof Player)
{
Player p = (Player) apps.get(0);

}else if .... N times... in N places

我也不想让应用程序成为一个界面,因为我需要应用程序默认值。

没有必要使用arraylist,如果你有更好的想法。

提前致谢。

最佳答案

使用方法而不是最终变量。 App.getNumber(),然后每个类都可以覆盖该方法以返回适当的值。每个类都可以返回相同的常量,但是将常量定义为私有(private)的,并确保使用 getter 方法

关于java - 没有类型转换的不同类的数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16250476/

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