本文共 760 字,大约阅读时间需要 2 分钟。
-- 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 类的任何一个对象的私有域.
--更多参见:
-- 声 明:转载请注明出处 -- Last Updated on 2012-05-16 -- Written by ShangBo on 2012-05-16 -- End