从Java中的静态方法返回内部类的实例
以下是我无法更改的用户需求:从Java中的静态方法返回内部类的实例,java,Java,以下是我无法更改的用户需求: 具有静态接口的类(所有方法都是静态的) 一个特定的方法返回一个ArrayList对象和一个文件对象 以下是我对上述要求的实现: 一个内部类,包含一个ArrayList对象和一个文件对象 特定方法初始化内部类的一个实例,并在最后返回它 但如果不创建外部类的实例,我无法创建内部类的实例: public class Outer { public class Inner { ArrayList<String> strings;
ArrayList
对象和一个文件
对象ArrayList
对象和一个文件
对象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()
感觉非常不正确
为了避免实例化外部类,我可以采取不同的方法吗?如果将内部类设置为静态(即编写
公共静态类内部
),则不需要外部类的实例;你可以写新的Outer.Inner()
那么简单吗???男人。。。我本来应该一开始就尝试一下(我脑子里有这个想法,但不明白为什么会有帮助);thanksIt对于嵌套其他地方使用的类来说是一个糟糕的设计。考虑分开它们。直接从Oracle开始,“[Nesting]是一种逻辑上对只在一个地方使用的类进行分组的方法:如果一个类只对另一个类有用,那么将其嵌入该类并将两者保持在一起是合乎逻辑的。嵌套这样的“帮助器类”使其包更加精简。”