您的位置:寻梦网首页编程乐园Java天地Core JavaJAVA程序员必读
JAVA程序员必读:基础篇(5)---类和继承
    
编译:ZSC/太平洋网络学院

5.1.6 控制对类成员的访问

  1. Private

当一个类试图访问一个它不能访问的成员变量的时候,编译器就会打印出错误信息(如下)病拒绝继续编译程序:

Beta.java:9: Variable iamprivate in class Alpha not

accessible from class Beta. //在Alpha类中的imaprivate变量不能从Beta类中进行访问

a.iamprivate = 10; // 非法

^

1 error //一个错误

同时,如果你的程序试图访问一个不能访问的方法,就将导致如下的编译器错误:

Beta.java:12: No method matching privateMethod()

found in class Alpha. //在Alapha类中没有匹配的方法privateMethod()

a.privateMethod(); // 非法

1 error //一个错误

JAVA的新手可能会问是否一个Alpha对象可以访问另外一个Alpha对象的private成员。下面给出具体例子来进行解释。假如Alpha类包含了一个实例方法,它比较当前的Alpha对象(this)以及另外一个对象的iamprivate变量:

class Alpha {

private int iamprivate;

boolean isEqualTo(Alpha anotherAlpha) {

if (this.iamprivate == anotherAlpha.iamprivate)

return true;

else

return false;

}

}

结果是相当的合法。所以,相同类型的对象可以访问其它的private成员。这是因为访问限制只是在类别层次(类的所有实例)而不是在对象层次(类的特定实例)上。

[上一页] [下一页]