为什么我写的程序在第一遍执行的时候能够运行,但当我多执行几遍后程序就会报错?而我根本就没有改过代码,一段时间后或者当我在另外一台机子上运行改程序,又发现它神奇般的执行了,并且没有报任何错误,这是为什么呢?    我分析了一下,发现别人的程序里有很多成员方法的属性都设成了private,但很少用这个,都用的是public,因为我觉得当程序要写很多成员变量和方法时,方法的互相调用的时候可能会因为权限的问题而无法访问,故为了方便我就把他们的属性都设置成了public。 而我的程序发生这种偶发性错误会不会和我用了大量的public有关呢?(小弟是java初学者,很菜,大家莫笑)。 我用的IDE是NetBeans6.8,请各位大侠给我分析分析,或者讲一下到底什么时候用private和public好些。    谢谢!