爲什麼下面的代碼編譯正常?Java訪問誤解
public class MyStack {
private static MyStack myStack ;
private Stack<MyObject> stackOfMyObjects;
private MyStack() {
stackOfMyObjects = new Stack<MyObject>() ;
}
public static void pushToStack(MyObject myObject, MyStack myStack2) {
myStack2.stackOfMyObjects.push(myObject) ;
}
}
這裏,pushToStack方法,怎能myStack2的stackOfMyObjects成員,事件雖然stackOfMyObjects已定義的私有?
你問爲什麼類中的函數可以訪問該類的實例的私有成員?如果不是,誰可以? – 2012-03-20 09:20:01
私人課程,而不是對象。所以如果你需要實現'int compareTo(T rhs)',你也可以訪問右側的字段。 – 2012-03-20 09:20:55
@DavidSchwartz我編輯了這個問題。請看一看。 – Babloo 2012-03-20 09:24:57