您的位置:寻梦网首页编程乐园Java天地Core JavaJAVA程序员必读
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成员了。

[上一页] [下一页]