当 class 带有访问修饰符 public 当 java 文件的文件名和 class 名称不同时会发生什么
what is happening when a class with access modifier public when a java file with file name and class name different
我刚刚写了一个这样的代码,文件名为 b.java
public class a{
public static void main(String args[]){
System.out.println("Hii");
}
}
它给出这样的错误
error: class a is public, should be declared in a file named a.java
如果我删除 class
前面的访问修饰符 public
运行 很好。
有没有其他解决方案来实现我不想更改 class 的名称或文件名,除非有 重要原因 。
如果是请说明原因。为什么我们应该给出文件名和 class 同名的文件名。
如果将 class 定义为 public,则 class 名称应与文件名匹配。
我们将任何 class 定义为 public 的原因是为了让其他 classes 或其他包中的代码可以访问它。
这种以 class 名称命名文件名的规则使编译器很容易找到 class.
同样在JAVA中,一个文件中我们只能有一个publicclass。
我刚刚写了一个这样的代码,文件名为 b.java
public class a{
public static void main(String args[]){
System.out.println("Hii");
}
}
它给出这样的错误
error: class a is public, should be declared in a file named a.java
如果我删除 class
前面的访问修饰符 public
运行 很好。
有没有其他解决方案来实现我不想更改 class 的名称或文件名,除非有 重要原因 。
如果是请说明原因。为什么我们应该给出文件名和 class 同名的文件名。
如果将 class 定义为 public,则 class 名称应与文件名匹配。
我们将任何 class 定义为 public 的原因是为了让其他 classes 或其他包中的代码可以访问它。
这种以 class 名称命名文件名的规则使编译器很容易找到 class.
同样在JAVA中,一个文件中我们只能有一个publicclass。