首先让我说,我确实搜索了几个小时,但没有找到我需要的东西。
我需要遍历类(应用程序)数组并使用当前应用程序的变量和方法。
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/