小智 40
要回答这个问题,请看一下这个例子:
创建一个Sample.java文件
class A
{
public static void main(String args[])
{
String str[] = {""};
System.out.println("hi");
B.main(str);
}
}
class B
{
public static void main(String args[])
{
System.out.println("hello");
}
}
Run Code Online (Sandbox Code Playgroud)
现在你编译它javac Sample.java并运行,java A然后输出将是
hi
hello
Run Code Online (Sandbox Code Playgroud)
或者你运行,java B然后输出将是
hello
请注意,没有标记任何类,public因此可以default访问它们.没有任何公共类的文件没有文件命名限制.
Ste*_*ker 31
您的Java文件名应始终反映该文件中定义的公共类.否则,您将收到编译器错误.例如,test.java:
public class Foo {}
Run Code Online (Sandbox Code Playgroud)
试图编译这个给出:
[steven@scstop:~]% javac test.java
test.java:1: class Foo is public, should be declared in a file named Foo.java
public class Foo {
^
1 error
Run Code Online (Sandbox Code Playgroud)
因此,您必须使您的文件名与您的公共类名称匹配,这似乎使您的问题没有实际意义.无论是那个还是我不明白你在问什么...花一些时间来解释你实际上想要实现的目标会对提出一个更有效的问题大有帮助:)
小智 7
只要您的源文件中没有公共类,就可以将源文件命名为任何名称并进行编译.但是,如果源文件中有公共类,则该文件的名称应与类名相同.否则,编译器将抛出错误.
示例:
文件名:TestFileName.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello,World\n");
}
}
Run Code Online (Sandbox Code Playgroud)
编译: javac TestFileName.java
错误:
TestFileName.java:1: class HelloWorld is public, should be declared in a file named HelloWorld.java
public class HelloWorld
^
1 error
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56315 次 |
| 最近记录: |