【问题标题】:Compilation error with different file name不同文件名的编译错误
【发布时间】:2014-08-27 07:30:24
【问题描述】:
class First    
{    
public static void main(String[] args)    
{    
System.out.println("File found");    
}    
}

(使用 First.java 保存的文件)
javac First.java ---(没有错误)
java First ---没有错误
然后我将班级名称更改为“第二班”
javac First.java ---(没有错误)
java第二---没有错误
但是如果我添加 public 并将类的名称更改为“public class Second”
那么有一个编译时错误,文件应该以与
公共类相同的名称保存。

【问题讨论】:

    标签: java access-modifiers


    【解决方案1】:

    文件名仅在类为 public 时才重要,在这种情况下,文件必须与类同名(First 类必须在 First.java 中)。

    如果类不公开,则文件名不重要。

    【讨论】:

    • 但这背后的原因是什么。如果我用不同的文件名将其设为“公共”,JVM 在这些情况下会做什么。并且没有“公共”文件名不同。
    • 欲了解更多信息,请阅读these answers
    【解决方案2】:

    包含公共类的文件名应设置为公共类的名称。而且一个文件不能有两个公共类(同理)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      相关资源
      最近更新 更多