【问题标题】:multiple public classes in java [closed]java中的多个公共类[关闭]
【发布时间】:2013-02-22 11:20:43
【问题描述】:

我试图编写一个包含 1 个以上公共类的 Java 程序,但它给了我以下错误:

Class [classname] is public,should be declared in a separate file named 
[classname].java

似乎无法找到令人信服的答案来解释为什么会发生这种情况。

【问题讨论】:

  • 难道“应该在一个名为[classname].java的单独文件中声明”明确吗?
  • 错误信息中给出了正确的解决方法,所以不清楚你的问题是什么。
  • 跟着消息走就行了!
  • 谢谢大家,我在这里找到了答案:stackoverflow.com/questions/3578490/…
  • @ParthMody 我希望你的意思是“因为他是这么说的!!”

标签: java


【解决方案1】:

您不能在一个.java 文件中声明多个公共类。将您的类分隔到不同的.java 文件中。

Class1.java

public class Class1 {

}

Class2.java

public class Class2 {

}

这个限制意味着每个人最多只能有一个这样的类型 编译单元。这个限制使编译器很容易 Java 编程语言或 Java 虚拟的实现 机器在包中查找命名类;例如, 公共类型 wet.sprocket.Toad 的源代码可以在 目录wet/sprocket中的文件Toad.java,以及对应的 目标代码将在同一文件 Toad.class 中找到 目录。

类似问题:

【讨论】:

  • 是的,没错,但是为什么呢?
【解决方案2】:

每个公共类都必须在它自己的 .java 源文件中声明。

【讨论】:

    【解决方案3】:

    类名与文件名相同。如果文件中有多个类,则会产生导致错误的冲突。所以每个类都应该在一个单独的文件中,文件名与类名相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-26
      • 2012-11-06
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      相关资源
      最近更新 更多