【问题标题】:Java - Error running public classes through the consoleJava - 通过控制台运行公共类时出错
【发布时间】:2015-09-29 00:19:49
【问题描述】:

我正在关注这本书 Head First Java。我已经输入了这个猜数程序的代码。到目前为止,我对本书中的所有代码都进行了很好的继承。但是当我运行这段代码时,我得到了以下错误:

javac GameLauncher.java:1:error class GuessGame is public, should be declared in a file named GuessGame.java

我保存的文件是 GameLauncher.java 里面的 main 文件。

这对另一个名为 Player 的公共类重复。我在网上看了一圈,看到有人说我必须保存里面有main的类文件。我已经做到了。当我删除“公众”时它工作正常,但情况并非如此。我还在Player.javaGuessGame.java 下保存了文件,但仍然出现错误。

对这一切都很陌生,直到现在还没有遇到太多麻烦。我知道这会很简单。

【问题讨论】:

  • 你能分享一些代码吗?
  • 每个公共课程需要一个文件
  • 你似乎没有尝试用谷歌搜索错误。你认为 QA 网站和互联网档案是为谁而存在的,对于像你这样忽略它们的人?
  • 您应该在不同的文件中创建GuessGame,在不同的文件中创建GameLauncher,因为两者都是public
  • 我没有分享任何代码,因为代码本身没有错误或任何问题。只是班级的“公众”。我确实浏览了网络。我没有几个小时的时间来搜索网络。

标签: java class public


【解决方案1】:

Java 源文件可能包含零个或一个 public 类,如果您在单个 .java 文件中有多个类,则会收到此错误。

基本上,每个 Java 源文件中都应该只有一个顶级类。

【讨论】:

  • 谢谢,我不知道这个。
【解决方案2】:

您需要将public class GuessGame 放入名为GuessGame.java 的文件中,并将public class Player 放入名为Player.java 的文件中

【讨论】:

  • 谢谢。是的,我确实创建了多个文件,例如 Player.java 和 GuessGame.java。我现在主要只使用一个公共类。
【解决方案3】:

一个java文件最多只能包含1个public类,文件名与类名加后缀“.java”完全相同。

如果您想要多个 public 类,请使用多个文件。如果您想在 1 个文件中包含多个类,请对所有其他类使用包访问修饰符。

即必须将 GuessGame 类放在 GuessGame.javapublic 访问修饰符中,然后才能将其删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-05
    • 2013-05-02
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多