链接列表的简单实现是将一个列表拆分为两个子列表。为简单起见,已放弃其他细节
class SList {
private head;
Object item;
public void split_list(SList list1, SList list2) {
list1.head = this.head;
// Some other stuff
}
}
分配list1.head是不是可见性违规?令我惊讶的是,我尝试过并且工作正常
private
修饰符表示成员只能由类本身访问,它不限于该类的实例。另见the documentation
类的实例始终可以完全访问同一类的其他实例的所有成员,无论其可见性如何。 private
对这个类来说是私有的,而不是对这个对象。
成员private
的修饰语head
对于类SList
来说是私有的,而不是SList
实例的私有(在JLS 6.6.8中定义,http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.6.8)。