Re: [問題] static & private

看板java作者 (LaPass)時間14年前 (2011/08/04 00:01), 編輯推噓6(607)
留言13則, 5人參與, 最新討論串2/2 (看更多)
養成良好習慣 隨時隨地加上 this 或是 物件名稱 可以讓自己比較了解這個東西的觀念 也能讓自己知道自己正在用什麼東西 我也是剛從C#跳槽過來的Java新手,大家一起來努力學習 ^^" http://ppt.cc/zFR5 簡單來講 前面沒加 static 的欄位、方法 你可以把它當成像是一個「模子」 要使用時,必須先從先用模子製造出一個實際存在的東西後,才能使用 物件 新物件 = new 物件(); ↑ 像這樣用「物件」這個模子去製造出一個「新物件」 之後才能 新物件.動態方法(); 新物件.動態欄位; 去使用這個東西 反過來說,前面有加static 的欄位、方法 就把它當成是「公佈欄」那樣的東西 每個人都去貼公告、塗鴉,而且看的、摸到的都是同一個公布欄 不管是哪個物件、哪個一個方法,甚至是外部其他的class 只要用 物件.靜態欄位; 物件.靜態方法(); 使用到的都是同一個欄位、方法。 ※ 引述《ctr1 (【積π】)》之銘言: : public class FirstSample{ : static int a; : private int b; //前面沒有static : private void counter(){ : int z; : z=12; : System.out.println("b="+b); //那這行為什麼可以執行 : } : public static void main (String args[]){ //因為這個字 : int i=1,x=2; : System.out.println("i="+i); : System.out.println("x="+x); : System.out.println("b="+b); //不能執行 : System.out.println("a="+a); : FirstSample abc=new FirstSample(); : abc.counter(); : } : } : 第13行不能執行,第7行為什麼可以執行? : 書上的解釋還是不清楚,我是個新手 Q_Q : 請板上的前輩幫我解答 : 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.233.157.84

08/04 06:24, , 1F
為什麼不試著從complier的行為去解釋@@?
08/04 06:24, 1F

08/04 07:56, , 2F
因為在學語法的時候,我根本不會想去知道底層到底在幹什麼
08/04 07:56, 2F

08/04 07:59, , 3F
雖然,寫程式寫久後,多多少少也會知道底層在幹什麼。
08/04 07:59, 3F

08/04 08:02, , 4F
但學寫程式時,我覺得先能夠寫東西來比較重要。
08/04 08:02, 4F

08/04 08:10, , 5F
多少還是得瞭解一點,不然真的有人能聽的懂 靜態、動態?
08/04 08:10, 5F

08/05 22:07, , 6F
同意樓上說法....應該以compiler的角度去說明會比較好
08/05 22:07, 6F

08/06 00:49, , 7F
多少還是要了解JVM怎麼運作的
08/06 00:49, 7F

08/06 00:52, , 8F
靜態動態真的要以compile期間來說明會比較清楚
08/06 00:52, 8F

08/06 00:59, , 9F
建議是這樣,不要排斥底層...
08/06 00:59, 9F

08/06 20:34, , 10F
ppt.cc/zFR5 寫 class 物件{ 觀念錯 >>class NAME{
08/06 20:34, 10F

08/06 20:38, , 11F
CLASSNAME referenceOfObject = new CLASSNAME();
08/06 20:38, 11F

08/06 22:51, , 12F
嚴格的激怒 才會變成真正的高手 歡迎再reply
08/06 22:51, 12F

08/06 23:57, , 13F
一般來說 instance才稱為object
08/06 23:57, 13F
文章代碼(AID): #1EEN3HrK (java)
文章代碼(AID): #1EEN3HrK (java)