前两天在学生的J2ME项目答辩会上,发现一个学生代码写的很乱,类当中的变量有的加上public,有的写private,有的为默认访问形式(friendly),一看就不是自己独立完成,东拷贝一块,西复制一处,而且不仔细吃透,所以想把他问的“原形毕露”,后来想想先问问个简单的吧,“说一下public和private的区别?”“public就是只能自己访问,private是别人都能访问。”我一看,不用再问了,这都没搞清楚,不知道东拼西凑的代码怎么能运行起来的?
想到这里,还是有必要细述一下。
往往在初学Java的时候,都不会提访问权限和修饰符的问题,在Java的学习中一般都要到包的概念学完才会涉及访问控制:
priavte 本类可见
public 所有类可见
protected 本包和所有子类都可见
friendly 本包可见(即默认的形式)
其实在实际应用中,public和private是比较熟悉和好记忆的,主要记住区别protected和friendly两种访问控制修饰符。
那么在实际应用中,private的类型是在封装的概念上体现较为明显的。private类型的变量都需要通过调用对象的getter和setter方法来访问。为了安全起见,public多适用于构造方法(单对象类除外)、类静态常量等一些形式。