是否可以在Eclipse中的单个java文件中包含多个类?或者我必须将每个人放在不同的文件中吗?
它只是Eclipse强加的东西,还是Java编译器反对在同一个文件中包含所有内容?
答案 0 :(得分:12)
根据Java规范(这不是Eclipse的规则),每个文件只能有一个公共类。您可以在与公共类相同的文件中包含inner classes或静态类。
答案 1 :(得分:4)
Eclipse遵循相关的Java标准:7.6. Top Level Type Declarations。在顶层,单个源文件可以声明任意数量的类,但只有一个可以是公共的。其他人有package-private访问权限。
答案 2 :(得分:2)
您可以在Java中的一个文件中拥有多个类(这是Java限制),但文件中只有一个类是公共的,并且该类必须与文件具有相同的名称。通常,如果第二个类仅由第一个类或其近邻使用,则只在一个文件中放置两个类。
答案 3 :(得分:1)
您只能有一个顶级类或接口,以及内部类(静态或其他)的声明。这是来自Java的限制,而不是来自Eclipse。事实上,Eclipse的C ++编辑器对C ++文件没有任何问题。
答案 4 :(得分:0)
这是语言要求。将类嵌入单个文件的唯一方法是创建内部类。
答案 5 :(得分:0)
实际上它在Java规范中:http://java.sun.com/docs/books/jls/third_edition/html/packages.html#26783
如果你想在同一个文件中有多个类,它必须是来自'top'公共类的内部类。