|
|
|
JAVA程序员必读:基础篇(5)---类和继承
|
|
编译:ZSC/太平洋网络学院
|
|
|
5.1.6 控制对类成员的访问
(2)Protected
下面我们来研究一下protected是怎样影响Alpha的子类的访问的:
首先介绍一个新的类Delta,它是来由Alpha继承而来的,但是它处在不同的包中,即Latin。这个Delta类可以访问iamproted和protectedMethod,不仅可以访问Delta类的对象而且可以访问它的子类。Delta类不能访问Alpha类型的对象中的iamprotected或者protectedMethod。在下面代码中的accessMethod试图访问在Alpha类型对象中的imaprotected成员变量,它是不合法的,而访问Delta类型对象则是合法的。相似地,accessMethod
试图调用Alpha对象的protectedMethod也是合法的:
package Latin;
import Greek.*;
class Delta extends Alpha {
void accessMethod(Alpha a, Delta d) {
a.iamprotected = 10; // 非法
d.iamprotected = 10; // 合法
a.protectedMethod(); // 非法
d.protectedMethod(); // 合法
}
}
综上所述,如果一个类是里面包含protected成员的类的子类或者它们处在同一个包中,那么这个类就可以访问protected成员了。
[上一页] [下一页]
|
|
|