如何创建一个类的引用数组?

时间:2014-07-12 17:54:38

标签: java arrays nested-class

标题可能有点误导,但我想不出用另一种方式来形容它。我先给大家举个例子:

class SomeClass {
  class Foo {
    class Bar {
      int things = 57;
      String five = "things";
    }
    class OtherBar {
      int things = 42;
      String five = "stuff";
    }
  }
  Object[] references = {Foo.Bar,  Foo.OtherBar};
}

每当我编译时,它都会为数组中的每个项目提供错误:

File.java:42: error: cannot find symbol
    Object[] references = {Foo.Bar, Foo.OtherBar};
                              ^
  symbol:   variable Bar
  location: class SomeClass.Foo

答案可能非常明显,但这是我在Java中的第一个实际项目。

编辑:我不应该使用类来存储信息。但是,我仍然会回答未来的问题。

3 个答案:

答案 0 :(得分:0)

尝试将内部类设为静态:static class Foostatic class Barstatic class OtherBar

答案 1 :(得分:-1)

class SomeClass {
  ...
  ...
  ...

  Object[] references = {Foo.Bar.class, Foo.OtherBar.class};
}

答案 2 :(得分:-1)

每个类都有一个名为class的静态字段,表示类对象。例如,您可以使用Foo.Bar.classFoo.OtherBar.class