JAVA 笨鸟提问

来源:百度知道 编辑:UC知道 时间:2024/06/15 06:11:56
public class A {
int a;
static int b;
void setab(int i){
a = i;
b = i+1;
}
int geta(){
return a;
}
static void setb(int i){
b += i;
}
static int getb(){
return b;
}
}
public class Exam3_7 {

public static void main(String args[]){
A x = new A();
A y = new A();
x.setab(5);
y.setab(10);
System.out.println("x.a=" + x.geta() + ",y.a=" + y.geta());
x.setb(-5);
y.setb(-10);
System.out.println("x.b=" + x.getb() + ",y.b=" + y.getb());
}

}
这是书上的一个例题,在编译时会出现,class A is public, should be declared in a file named A.java
怎么回事
如果把public class A 之前的public去掉在编译时还是会出错

public的类必须保存在与类明同名的文件中,换句话说,一个文件中只能有一个public的类,如果一个程序有多个public类,就需要用多个文件保存

class A {
int a;
static int b;
void setab(int i){
a = i;
b = i+1;
}
int geta(){
return a;
}
static void setb(int i){
b += i;
}
static int getb(){
return b;
}
}
public class Exam{

public static void main(String args[]){
A x = new A();
A y = new A();
x.setab(5);
y.setab(10);
System.out.println("x.a=" + x.geta() + ",y.a=" + y.geta());
x.setb(-5);
y.setb(-10);
System.out.println("x.b=" + x.getb() + ",y.b=" + y.getb());
}

}
在一个包内不能有两个public类!