类上定义public成为一个文件里的主类,请问public的作用范围是什么
小弟曾经坐过尝试将2个.java文件放在默认路径下,能顺利运行exam4.class
public class exam3{    
    public static void show(){
    System.out.println("猪");}
    public static void main(String[] args){
    exam3 a1=new exam3();
    a1.show();
    }
}public class exam4 {
    public static void main(String[] args){
        exam3.show();
    }
}
如果把exam3.java移动到其他文件夹,exam4.class就不能运行,如果把exam3.class移动走,exam3.java留下,则会重新编译一个exam3.java,请问这是什么原因,书上讲的不清楚,求助!!