簡體   English   中英

從Java中的靜態方法返回內部類的實例

[英]Return an instance of an inner class from a static method in Java

以下是我無法更改的用戶要求:

  1. 具有靜態接口的類(所有方法都是靜態的)。

  2. 一個特定方法返回ArrayList<String>對象和File對象。

以下是我對上述要求的實施:

  1. 一個內部類,包含ArrayList<String>對象和File對象。

  2. 特定方法初始化內部類的實例並在結尾返回它。

但是我無法在不創建外部類的實例的情況下創建內部類的實例:

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()感覺非常不正確。

我可以采取不同的方法來避免必須實例化外部類嗎?

如果你使內部類是靜態的(也就是你編寫public static class Inner )那么你不需要外部類的實例; 你可以寫new Outer.Inner()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM