从Class对象访问静态变量

时间:2012-07-30 16:10:46

标签: java arrays class casting subclass

我目前有一个Class类型的数组,它只包含BuildingComplex类型的子类。它基本上包含了允许为我正在创建的游戏构建的所有不同的类。

private static Class[] AVAILABLE = new Class[]{
   LumberCamp.class, Farm.class, Storehouse.class, Port.class, Barracks.class, Edifice.class
};

当我想从这些类中的一个访问静态变量时(由于继承自BuildingComplex而具有此静态变量),我无法确定如何让AVAILABLE [i]访问静态变量,因为我找不到任何资源将Class强制转换为特定的类。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

不确定我是否完全理解你的问题,但你在寻找类似的东西吗?

@SuppressWarnings("unchecked")
private static Class<? extends BuildingComplex>[] AVAILABLE = new Class<? extends BuildingComplex>[]{
   LumberCamp.class, Farm.class, Storehouse.class, Port.class, Barracks.class, Edifice.class
};