在另一个 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.
继承访问修饰符
如果 A
和 B
在同一个包中,您可以使用 A.C.<code>
从 B
访问 C
如果您想制作 C
可用于 A
包之外的 classes 你需要制作 subclass C
public:
// [...]
// insead of >>static class C {<<
public static class C {
// [...]
更改访问修饰符后,您可以使用 C
如上所述 (A.C.<code>
)
我可以访问另一个 *.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.
如果 A
和 B
在同一个包中,您可以使用 A.C.<code>
从 B
访问 C
如果您想制作 C
可用于 A
包之外的 classes 你需要制作 subclass C
public:
// [...]
// insead of >>static class C {<<
public static class C {
// [...]
更改访问修饰符后,您可以使用 C
如上所述 (A.C.<code>
)