※ [本文轉錄自 java 看板]
作者: hotball (哲哲魚) 看板: java
標題: Re: [Need help]modifier 搞不懂
時間: Thu Mar 26 02:10:10 1998
※ 引述《dr858303 <dr858303@cs.nthu.edu.tw>, 看板: java》之銘言:
: Hi,
: 初學 java, 被
: 1.[private, protected, private protected, default]
: 2.[public, default(non public)]
: 3.[static, default(non static)]
: 給混淆了(特別是 1 2 3 混在一起用的時候),
: 請問有好心人可解釋一下嗎(inheritance & access capability)?
: 或是有書解釋的很詳盡的?
: Thanks.
private 就是只有在這個 class 內部可以使用的 members。
protected 就是只有在這個 class 和它的 subclass 內部可以使用的 members。
public 就是所有的人都可以用的 members。
如果沒有指定上面三個的任一個的話,就是 package-access,就是在同一個
package 中所有的 class 都可以使用的 members,但其它 package 的 class 都
不能使用。
至於 private protected,現在已經不能這樣寫了。
static 則是表示這是一個 class member,如果不寫 static 的話,則是 instance
member。所謂的 instance member,就是每個物件的 instance 都會有一份,而
class member 則是對一種物件只會有一份,也就是所有的 instance 都共用這一份。
對 method 來說,static method 只能存取 class 中的 static members;而非
static 的 method 則可以存取 static 或 non-static 的 members。
要記得一點,private、protected、public 三個 modifier 是絕不可同時出現在
同一個 member 上的。
--
※ 發信站: 批踢踢實業坊(ptt.m8.ntu.edu.tw)
◆ From: kimicat.m1.ntu.
--
陷入難過的時候
你就擁有了讓自己更快樂的空間……
感覺失意的時候
你就掌握了讓自己得意起來的權利……
--
※ 發信站: 批踢踢實業坊(ptt.m8.ntu.edu.tw)
◆ From: tp246-72.dialup