我有一个 Java 文件 TestThis.java
如下所示:
class A
{
public void foo()
{
System.out.println("Executing foo");
}
}
class B
{
public void bar()
{
System.out.println("Executing bar");
}
}
上面的代码文件编译正常,没有任何警告/错误。有什么方法可以访问任何类 A
或 B
而无需来自任何其他外部类的顶级类?
如果不是,那么为什么 Java 甚至允许在没有顶级类的情况下编译此类文件?
最佳答案
像往常一样(例如,从 Test.java 访问):
public class Test {
public static void main(String... args) {
A a = new A();
a.foo();
B b = new B();
b.bar();
}
}
这里的规则是源文件中不能有多个公共(public)类。如果有,文件名必须与该公共(public)类名匹配。否则(您的情况),您可以根据需要命名您的文件。其他非公共(public)类将是包可见的,您可以照常访问它们。
关于java - Java中没有顶级类的情况下访问非顶级类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/325114/