在另一个 java 文件中访问静态 类

Accessing static classes in another java file

我可以访问另一个 *.java 文件中的静态 class 吗?

我的情况是我在同一个文件夹中有两个 java 文件,A.java 和 B.java:
在A.java中,不仅包括classA,还包括静态classC:

public class A {
    public static void main(String[] args) {
          //code  
    }
    static class C{
        //code
    }
}

在B.java中,将使用class C:

的方法
public class B {    
     //code, use C's methods  
}

在文件 B.java 中,我想使用 class 在 A.java 中声明的 C 方法;但是,编译器无法识别 class C,即使我将 A.java 和 B.java 放在同一个文件夹中。我想我不需要导入任何东西,因为 java 文件都在同一个文件夹中,不是吗?有谁知道如何解决这个问题?谢谢!

请注意 class C 没有访问修饰符,只能在同一个包中可见。澄清一下:subclass 不会从其封装的 class.

继承访问修饰符

如果 AB 在同一个包中,您可以使用 A.C.<code>B 访问 C 如果您想制作 C 可用于 A 包之外的 classes 你需要制作 subclass C public:

// [...]
// insead of >>static class C {<<
public static class C {
// [...]

更改访问修饰符后,您可以使用 C 如上所述 (A.C.<code>)