如何在Eclipse中摆脱以下错误?

时间:2011-11-13 22:34:32

标签: java eclipse

我得到的错误正好是:

中指定的错误

http://java.syntaxerrors.info/index.php?title=Own_file

(必须在自己的文件中定义类。)

但除了每个公共类只有一个文件外,他们没有给出如何解决它的解决方案。

谢谢你,eclipse,让我这样做,但这在Java中并不是强制性的。有没有办法摆脱这个错误?

1 个答案:

答案 0 :(得分:4)

是的,它在Java中是强制性的。每个公共类必须位于一个单独的文件中,其命名方式与该类完全相同。

See this question about it。 Java语言规范写道,对于编译器来说,这不是100%强制要求,但它们通常会这样做。并且因为它是一件好事,并且在规范中被注意到,所有编译器都会这样做。

  

当软件包存储在文件系统(第7.2.1节)中时,如果在由以下文件组成的名称下的文件中找不到类型,则主机系统可以选择强制执行编译时错误的限制。类型名称加上扩展名(例如.java或.jav)

如果你想在同一个文件中有多个类,那就是另一个故事了。你可以用两种方式做到这一点:

  • 在主类的主体之后将它们声明为包含class Foo的包私有类。您可以在同一个文件中包含任意数量的非公共类
  • 将它们声明为主类内部的静态内部类:public static class InnerFoo。这样,FooClass.InnerFoo
  • 就可以看到其他类