私有域的访问权限

来源:互联网 发布:js点击切换div内容 编辑:程序博客网 时间:2024/06/06 04:14

-- Start

我们都知道对象的私有变量只有它自己能访问, 其他任何对象都不能访问, 然而如果你看 String 类的源代码, 你会发现如下的代码.

private final char value[];private final int offset;private final int count;public boolean equals(Object anObject) {if (this == anObject) {return true;}if (anObject instanceof String) {String anotherString = (String) anObject;int n = count;if (n == anotherString.count) { // 注意此处char v1[] = value;char v2[] = anotherString.value; // 注意此处int i = offset;int j = anotherString.offset; // 注意此处while (n-- != 0) {    if (v1[i++] != v2[j++])return false;}return true;}}return false;}

原因是 anotherString 是 String 类对象,而 String 类的方法可以访问 String 类的任何一个对象的私有域.

--更多参见:Java 精萃
-- 声 明:转载请注明出处
-- Last Updated on 2012-05-16
-- Written by ShangBo on 2012-05-16
-- End