如果該方法是公開的,則每個人都可以訪問它。像你一樣訪問控制的技巧是通過接口公開一組公共操作,向實現該接口的私有類添加輔助操作,並使用戶程序訪問接口而不是類。
下面是一個例子:
public interface MyList {
Object elementAt(int i);
}
public class A {
private static class MyListImpl implements MyList {
public Object elementAt(int i) {
...
}
public void insert(Object element) {
...
}
}
private final MyListImpl list = new MyListImpl();
public MyList getList() { return list; }
public void insert(Object o) { list.insert(o); }
}
使用場景:
A a = new A();
a.insert(123);
a.insert("quick brown fox");
MyList lst = a.getList();
System.out.println(lst.elementAt(0));
System.out.println(lst.elementAt(1));
你可以使'List'成爲'A'中的內部類,所以沒有其他類可以訪問它。其他方式可以設置'List#insert(A a)' – 2012-07-18 20:08:50