1. 程式人生 > >關於java私有成員變量的訪問

關於java私有成員變量的訪問

vat 靜態 依然 靜態方法 直接 訪問 變量 而且 所在

java 主類M中可以直接訪問自身的私有成員,就算在main中 new 一個自己,也只是自身靜態方法中的一個局部變量,該局部變量依然可以訪問自身的private成員,只要該局部變量身處自身所在類M。

主類M外面定義了其它類A,然後在主類的main方法中編寫如下 語句 :

1、M m = new M ,那麽可通過 m.p 直接訪問主類私有成員,因為該語句身處M類體中

2、A a = new A ,那麽不能通過 a.p直接訪問私有成員,因為該語句身處M類體中,不在A類體中

讀大學時學C++的慣性思維就是:private成員永遠不能被new出來的變量直接訪問,必須在類體中用public get() / set() 封裝,然後new 出來的變量只能通過get()/set()訪問,那時一直不能接受和理解的是,main方法在某個類體中,而且還能自己new自己。現在終於理解了。

關於java私有成員變量的訪問