新手 java 问题。
对于我的项目,我有一个在 XML 文件中定义的类模型,然后我将其转换为一个模型。例如:
<model>
<class name="abc"><field>one</field><field>two</field></class>
<class name="xyz"><field>f1</field><field>f2/field></class>
</model>
这被转化为:
public class abc {
String _one;
String _two;
public String get_one() {
return _one;
}
... and so on you get an idea
显然,将每个类转换成它自己的 .java 文件会很麻烦。将它们堆积在一个 .java 文件中会更易于管理。但是java有这样的要求,每个类必须在自己的文件中定义,并且文件名必须和类名匹配。否则,编译器将显示错误:The public type XYZ must be defined in its own file
很可能可以这样定义它:
public class ModelContainer {
public class abc {
...
}
public class xyz {
...
}
}
还有别的办法吗?理想情况下,我正在寻找一个编译器开关或类似的东西,这将禁用将每个类放在其自己的文件中的要求。如果有任何不同,我正在使用 Eclipse
最佳答案
如果您可以使用内部类,那么是的,这会起作用,但每次您想要实例化内部类时都必须获取外部类的实例:
public class ModelContainer {
public class abc {
...
}
public class xyz {
...
}
}
您也可以将嵌套类声明为静态类,这样就不必先实例化外部类:
public class ModelContainer {
public static class abc {
...
}
public static class xyz {
...
}
}
看看这个post了解更多详情。
关于java - 禁用 "The public type xyz must be defined in its own file"的执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19731191/