我得到的错误正好是:
中指定的错误http://java.syntaxerrors.info/index.php?title=Own_file
(必须在自己的文件中定义类。)
但除了每个公共类只有一个文件外,他们没有给出如何解决它的解决方案。
谢谢你,eclipse,让我这样做,但这在Java中并不是强制性的。有没有办法摆脱这个错误?
答案 0 :(得分:4)
是的,它在Java中是强制性的。每个公共类必须位于一个单独的文件中,其命名方式与该类完全相同。
See this question about it。 Java语言规范写道,对于编译器来说,这不是100%强制要求,但它们通常会这样做。并且因为它是一件好事,并且在规范中被注意到,所有编译器都会这样做。
当软件包存储在文件系统(第7.2.1节)中时,如果在由以下文件组成的名称下的文件中找不到类型,则主机系统可以选择强制执行编译时错误的限制。类型名称加上扩展名(例如.java或.jav)
如果你想在同一个文件中有多个类,那就是另一个故事了。你可以用两种方式做到这一点:
class Foo
的包私有类。您可以在同一个文件中包含任意数量的非公共类public static class InnerFoo
。这样,FooClass.InnerFoo