我是否可以访问另一个* .java文件中的静态类?
我的情况是我在同一个文件夹中有两个java文件,A.java和B.java:
在A.java中,它不仅包括A类而且包含静态类C:
public class A {
public static void main(String[] args) {
//code
}
static class C{
//code
}
}
在B.java中,它将使用C类方法:
public class B {
//code, use C's methods
}
在文件B.java中,我想使用在A.java中声明的类C的方法;但是,即使我将A.java和B.java放在同一个文件夹中,编译器也无法识别C类。我想我不需要导入任何东西,因为两个java文件都在同一个文件夹中,不是吗?有谁知道如何解决这个问题?谢谢!
答案 0 :(得分:0)
请注意,班级C
没有访问修饰符,只能在同一个包中显示。澄清一下:子类不会从其封装类继承访问修饰符。
如果A
和B
位于相同的套餐中,您可以使用C
从B
访问A.C.<code>
如果您想{{1}您可以在C
的包之外的类中使子类A
公开:
C
在您更改了访问修饰符后,您可以使用上面提到的// [...]
// insead of >>static class C {<<
public static class C {
// [...]
(C
)