【问题标题】:Error when compiling a Java file with an "Aux" class in it [duplicate]编译带有“Aux”类的Java文件时出错[重复]
【发布时间】:2023-03-08 05:38:01
【问题描述】:

我有一个 Java 文件,其中包含一个公共类(称为 Test)和一个私有类(称为 Aux)。

当我调用javac Test.java 时,我收到以下错误:

Test.java:5: error: error while writing Aux: C:\Users\Wolf\Desktop\java\Aux.class

我认为这可能是权限问题,但我拥有对该文件夹的管理员访问权限(Java JDK 在我的路径上)。

另外,如果我注释掉 Aux 类(留下 Test 类),它可以工作。

知道为什么它不适用于同一文件中的多个类吗?

这是Test.java的代码:

class Aux {
}

public class Test {
     public static void main(String[] args) {
     }
}

【问题讨论】:

  • 请将您的代码发布到Test.java...
  • 如果你有一个文件Test.java,那么你唯一可以拥有的公共类是class Test - 如果你有不同访问修饰符的类,而公共类不是Test,这不会工作。
  • 不相关,但你到底为什么要在桌面目录中执行此操作?与使用源代码控制相关。养成习惯。
  • 谢谢@dmitryro,所以我不能在同一个文件中包含私有帮助类作为公共类?那么,你什么时候使用私人课程?
  • 我建议使用包级别访问,为该文件声明一个包含两个类的包,并提供您的源结构一致。

标签: java


【解决方案1】:

问题在于,在 Windows 中,由于遗留原因,您无法创建名为 Aux 的文件。如果您将类重命名为 Aux 以外的名称,它应该可以工作。

【讨论】:

  • 哦。不错的收获。
  • 哇,太疯狂了!我永远不会知道。谢谢!
猜你喜欢
  • 2014-11-07
  • 2021-12-07
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多