看板 java 關於我們 聯絡資訊
由於太久沒寫程式 [毆飛] 我今天才想到為甚麼我覺得這篇文章... 沒太大意義 當然,我不是說這篇講的不好 or 不對 基礎絕對重要(當年學 LMC,我熟練的不得了 [誤]) 只是這篇,至少沒辦法解答當年的我的困惑 ※ 引述《brianhsu (墳墓)》之銘言: : 為什麼下面的程式裡,Node 明明還沒定義完,裡頭卻又出現另一 : Node 呢? : 1 class Node { : 2 private Node next; : 3 } 對於初學者而言,其實他搞不懂為甚麼這個會錯 void foo(){ Node x = y; Node y = new Node(); } 但是 Node 的 class 內容卻莫名其妙會過 按照下面引言的說法 x 是一個記憶體位置、到最後會指到一個應該也是 Node 的東西上頭 反正我在使用 x 之前還是宣告 y 了阿... 而且,不是說好不提... ㄜ... 錯了... 不是說好不先宣告好就會死翹翹的嗎? <囧> 請注意,這是新手可能會出現的想法 請不要說這兩例子差很多、一個是 assign 一個沒有 要是新手分辨的出來也不叫新手了 是的,這是我當年的想法,現在終於想起來了 [核爆] : 這不就很明顯了嗎?private Node next,說的是『next 是一個記 : 憶體位置,而且這個記憶體位置應該要指到一個長得像 Node 的物 : 件』。 我的論點是,要解釋這些問題 得從 compiler 的角度開始 講這些程式碼怎麼 parse、怎麼建表 blahblah 有必要的話再往下講到底層 直接要以底層的講法來解釋... 我只能說,以我的智商 當年的我,大概只會更困惑...... Orz 一點想法分享,沒有批評對錯的意思 有長篇大論而且不是發問文,就很感動了 T__T -- 侃侃長論鮮窒礙 眾目睽睽無心顫 Blog:http://blog.psmonkey.org 煢居少聊常人事 殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc)精華區 \囧/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.83.14
sbrhsieh:新手應該要去弄懂 definition, statement 等觀念... 12/02 00:59
brianhsu:因為在討論下去好像會離題,所以不回了,簡單講,同意樓 12/02 07:14
brianhsu:樓上。搞清兩者的差別應該是基礎中的基礎吧……orz 12/02 07:16
PsMonkey:只能說,用你們的新手標準,我大概會每天上 Hate 版 12/02 19:59