class Person
{
private int age;
public void setAge(int i)
{
if(i<0 || i>130)
return;
age = i; 
}
public int getAge()

return age;
}
}
class TestPerson
{
public static void main(String args[])
{
Person p1 = new Person();
p1.setAge(20);
p1.setAge(-14);
System.out.println(p1.getAge());
}
}在这个程序中,第15行的class TestPerson中,书中前面加了public,但我编译时,为何说work.java:15: 类 TestPerson 是公共的,应在名为 TestPerson.java 的文件中声明?去掉public 就可得正确结果。我很想知道其中的缘由。但又不是很了解?让我感觉有什么东西卡在喉咙里,想吞又吞不进,想吐又吐不出。感谢各位大虾的指导。
还有另寻问,java的习题书,哪种比较好,错误少,讲解多的。