Posted on 2010-08-19 14:27
赞劲小子 阅读(838)
评论(0) 编辑 收藏 引用 所属分类:
JAVA基础
Java的访问控制修饰符共有4个,分别是public、protected、default、private。下面我们分别进行讲解。
4.6.1 类成员的访问控制
private访问控制
在本章的前面,我们已经明白了private访问控制符的作用,如果一个成员方法或成员变量名前使用了private访问控制符,那么这个成员只能在这个类的内部使用。
注意:不能在方法体内声明的变量前加private修饰符。
缺省访问控制
如果一个成员方法或成员变量名前没有使用任何访问控制符,我们就称这个成员是缺省的(default),或是友元的(friendly),或是包类型的(package)。对于缺省访问控制成员,可以被这个包中的其他类访问,如果一个子类与父类位于不同的包中,子类也不能访问父类中的缺省访问控制成员。
protected访问控制
如果一个成员方法或成员变量名前使用了protected访问控制符,那么这个成员即可以被同一个包中的其他类访问,也可以被不同包中的子类访问。
public访问控制
如果一个成员方法或成员变量名前使用了public访问控制符,那么这个成员即可以被所有的类访问,不管访问类与被访问类是否在同一个包中。
最后,我们用一张图来总结上述访问控制符的权限。
|
private
|
defalut
|
protected
|
public
|
同一类
|
√
|
√
|
√
|
√
|
同一包中的类
|
|
√
|
√
|
√
|
子类
|
|
|
√
|
√
|
其他包中的类
|
|
|
|
√
|
表4.1
4.6.2 类的访问控制
除了类中的成员有访问控制外,类本身也有访问控制,即在定义类的class关键字前加上访问控制符,但类本身只有两种访问控制,即public 和默认,父类不能是private和protected,否则子类无法继承。public修饰的类能被所有的类访问,默认修饰(即class关键字前没有访问控制符)的类,只能被同一包中的所有类访问。
多学两招:
只要在class之前,没有使用public修饰符,源文件的名称可以是一切合法的名称。带有public 修饰符的类的类名必须与源文件名相同,读者可以想一想,一个.java源文件中能否包含多个public的类呢?
4.6.3 Java的命名习惯
养成良好的命名习惯,意义重大,如果大家的习惯都一样,我们就能够很容易使用别人提供的类,别人也很容易理解我们的类,对此,我送给读者一句话,“勿以善小而不为,勿以恶小而为之”!下面是Java中的一些命名习惯,假设xxx,yyy,zzz分别是一个英文单词的拼写。
1. 包名中的字母一律小写,如:xxxyyyzzz。
2. 类名、接口名应当使用名词,每个单词的首字母大写,如:XxxYyyZzz。
3. 方法名,第一个单词小写,后面每个单词的首字母大写,如:xxxYyyZzz。
4. 变量名,第一个单词小写,后面每个单词的首字母大写,如:xxxYyyZzz。
5. 常量名中的每个字母一律大写,如:XXXYYYZZZ。