Re: [問題] new不new的差別?
我印象中 有 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
→
09/07 22:17, , 1F
09/07 22:17, 1F
推
09/07 22:18, , 2F
09/07 22:18, 2F
→
09/07 22:19, , 3F
09/07 22:19, 3F
推
09/07 22:24, , 4F
09/07 22:24, 4F
※ 編輯: elenaser 來自: 59.121.40.71 (09/07 22:26)
→
09/07 22:26, , 5F
09/07 22:26, 5F
→
09/08 01:22, , 6F
09/08 01:22, 6F
推
09/08 10:47, , 7F
09/08 10:47, 7F
推
09/08 20:41, , 8F
09/08 20:41, 8F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
問題
0
18