从Java中的静态方法返回内部类的实例

时间:2014-01-30 19:29:03

标签: java

以下是我无法更改的用户要求:

  1. 具有静态接口的类(所有方法都是静态的)。

  2. 一种特定方法会返回ArrayList<String>个对象和File个对象。

  3. 以下是我对上述要求的实施:

    1. 包含ArrayList<String>对象和File对象的内部类。

    2. 具体方法初始化内部类的实例并在结尾处返回。

    3. 但是我无法在不创建外部类的实例的情况下创建内部类的实例:

      public class Outer
      {
          public class Inner
          {
              ArrayList<String> strings;
              File              file;
          }
      
          public static Inner method()
          {
              Inner inner = new Outer().new Inner();
              ...
              return inner;
          }
      }
      

      除了“丑陋”之外,new Outer().new Inner()感觉非常不正确。

      我是否可以采取不同的方法来避免必须实例化外部类?

1 个答案:

答案 0 :(得分:6)

如果你使内部类是静态的(也就是你写public static class Inner)那么你不需要外部类的实例;你可以写new Outer.Inner()