我遇到了这个问题,我不确定为什么会引起它。
"类帐户是公共的,应在名为帐户的文件中声明.java"
我的程序中有 5 个类,都在同一个文件中,并且都是公共的:
- 名为 Main 的类,其中包含 main 方法
- 名为 Account 的类是抽象的 3 类 帐户 1、帐户
- 2、帐户 3 扩展抽象类
我将我的文件命名为 Main.java,它给了我这个错误。然后我命名我的文件帐户.java,我再次收到同样的错误。
我该怎么办?
- 每个源代码文件只能有一个公共类。
- 如果文件中存在公共类,则文件的名称必须与公共类的名称匹配。例如,声明为公共类 Dog { } 的类必须位于名为 Dog.java 的源代码文件中。
您应该将文件拆分为 5 个文件,以便每个文件只有一个类。
这应该不难解决,因为你已经提供了答案。单个 Java 文件中不能有 2 个单独的公共类。因此,按照建议:为您的帐户类创建一个文件帐户.java。如果将此类保留在同一个包中,则无需执行任何其他操作。
我只是在某个时候遇到你的情况,我只是在oracle上查看网站
显而易见的说,在.java文件中,你的5个类都是顶级的,所以
可以使用修饰符 public 声明一个类,在这种情况下,该类对任何地方的所有类都是可见的。如果一个类没有修饰符(默认的,也称为 package-private),它只在它自己的包中可见(包被命名为相关类的组 — 您将在后面的课程中了解它们。
因此,当然,您可以将类放置到另一个.java文件中,或者您可以删除类的前缀或修饰符,并且您的代码将运行,但该类只能在此包中访问!