09.面向对象(6)--访问控制

9.类成员的访问控制

9.1、private访问控制

如果一个成员方法或成员变量名前使用了private访问控制符,那么这个成员只能在这个类的内部使用。

注意:不能在方法体内声明的变量前加private修饰符。

9.2、缺省访问控制

如果一个成员方法或成员变量名前没有使用任何访问控制符,我们就称这个成员是缺省的(default),或是友元的(friendly),或是包类型的(package)。对于缺省访问控制成员,可以被这个包中的其他类访问,如果一个子类与父类位于不同的包中,子类也不能访问父类中的缺省访问控制成员。

9.3、protected访问控制

如果一个成员方法或成员变量名前使用了protected访问控制符,那么这个成员即可以被同一个包中的其他类访问,也可以被不同包中的子类访问。

9.4、public访问控制

如果一个成员方法或成员变量名前使用了public访问控制符,那么这个成员即可以被所有的类访问,不管访问类与被访问类是否在同一个包中。


9.5、类的访问控制

除了类中的成员有访问控制外,类本身也有访问控制,即在定义类的class关键字前加上访问控制符,但类本身只有两种访问控制,即public 和默认,父类不能是private和protected,否则子类无法继承。public修饰的类能被所有的类访问,默认修饰(即class关键字前没有访问控制符)的类,只能被同一包中的所有类访问。

注意:只要在class之前,没有使用public修饰符,源文件的名称可以是一切合法的名称。带有public 修饰符的类的类名必须与源文件名相同。

猜你喜欢

转载自johnnycmj.iteye.com/blog/1559155