如果我在.java文件上编写多个类,我是否至少需要一个公共类?
但如果我有一个以上没有任何公开的课程,它会编译。
class A {
int x=1;
int y=2;
void m1(int i){
System.out.println("i="+i);
}
}
class B extends A{
void m1(int i){
System.out.println("i="+i);
}
}
class test{
public static void main(String args[]){
A a1=new A();
B b1=new B();
System.out.println(b1.x);
System.out.println(a1.y);
//System.out.println(A.y);
a1.m1(4);
}
}
答案 0 :(得分:5)
不,您不需要在任何源文件中都有公共类。
每个源文件最多只能一个公共类。但是,每个源文件不需要至少一个公共类。
答案 1 :(得分:1)
我个人的偏好是每个文件放一个类,主要用于阅读目的。每个文件只能有一个类是公共的,但是您可以拥有尽可能多的其他类,其访问限制较少。另外,看看嵌套类可能就是你想要做的事情。
答案 2 :(得分:0)
公共类必须在具有相同名称的.java源文件中实现,非公共类可以驻留在具有其他名称的源文件中。
答案 3 :(得分:0)
访问修饰符public(第6.6节)仅适用于顶级类(第7.6节)和成员类(第8.5节),不适用于本地类(第14.3节)或匿名类(第15.9.5节)。 p>