作者elenaser (九號)
看板java
標題Re: [問題] new不new的差別?
時間Tue Sep 7 22:17:12 2010
我印象中 有 new 的意思是建立物件已便去呼叫
實體欄位、實體方法、類別(靜態)欄位、類別(靜態)方法
你說的應該是 假設
class Simple1
{
static int i;
}
那我在主方法主程式就可以
public class S60
{
public static void main(Sting [] avgs)
{
Simple1.i=5;
}
}
可是這個問題來了
也就是假設類別裡面有個實體欄位或者是實體方法
class Simple2
{
static int i;
int x;
}
那我主方法就不能用類別呼叫實體欄位
public class S60
{
public static void main(Sting [] avgs)
{
Simple2.i=5;
Simple2.x=100;//////<----這樣就會編譯失敗
//必須透過物件去呼叫實體方法或者實體欄位
Simple2 simpleOBJ =new Simple2();
simpleOBJ.x=100;//////<----- 這樣才可以編譯成功
}
}
所以new不new的差別
使用類別
---------------
類別(靜態)欄位 可以使用
類別(靜態)方法 可以呼叫
實體欄位 不可使用
實體方法 不可呼叫
使用物件
----------------
類別(靜態)欄位 可以使用
類別(靜態)方法 可以呼叫
實體欄位 可以使用
實體方法 可以呼叫
類別(靜態)跟實體的差異也只是 差了個static罷了
static int x;//類別(靜態)欄位
int x;//實體欄位
static void aa(){}//類別(靜態)方法
void aa(){}//實體方法
加了static 可以直接用類別使用 可是沒加到的static的變數
就不能直接用類別使用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.40.71
→ elenaser:FYI. 如有誤導請多指教 09/07 22:17
推 PsMonkey:請不要轉寄版面上文章給我 ==.==== 09/07 22:18
→ elenaser:拍謝 寄錯人= = 09/07 22:19
推 fbukevin:明白了!!!謝謝大大這麼用心! 09/07 22:24
※ 編輯: elenaser 來自: 59.121.40.71 (09/07 22:26)
→ elenaser:你不嫌棄就好 09/07 22:26
→ xam:這篇排版不行啊.. 內容喔..直接end 09/08 01:22
推 SickKid:樓上的是酸什麼啊 真想噓 09/08 10:47
推 diejudas:樓樓上不發一篇嗎? 09/08 20:41