Re: [問題] 參考變數的傳遞

看板java作者 (Lance)時間13年前 (2013/02/04 20:48), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
※ 引述《icetofux ()》之銘言: : 大家好,最近在試著學習java,關於參考變數的運用有點疑問,想向各位先進求教: : 1 private Node Root; : 2 : 3 public BTree() { : 4 Root = null; : 5 } : 6 : 7 public void Insert(int TData) { : 8 Insert( Root, TData); : 9 return ; : 10 } : 11 : 12 private void Insert( Node NowNode, int TData) { : 13 if(NowNode==null) { : 14 NowNode = new Node(); : 15 NowNode.Data = TData; : 16 } : 17 ... : 18 return ; : 19 } private Node root ; public BTree() { root = null ; } public void Insert( int data ) { if ( root == null ) root = new Node( data ) ; else Insert( root, data ) ; } private void Insert( Node nowNode, int data ) { if ( data < nowNode.data ) if ( nowNode.left == null ) nowNode.left = new Node( data ) ; else Insert( nowNode.left, data ) ; else if ( data > nowNode.data ) ... return ; } Java 的傳參考在 C++ 的觀念只是傳(某address)值, 所以在設計的思考上(Java可能也希望我們統一這樣做) 就是要習慣先決定好變數的實體對像, (例如說建立好新物件實體)再傳該變數, 傳進去後對應的變數的工作就是處理其內容(例如呼叫界面函式或成員函式). 因此也不太需要再改變參考的對像. 雖然不能像C++的call by reference可以在某些問題上有比較不同或簡便的寫法, 實際上熟練之後也幾乎不會碰到解不了的問題 這也是一種寫法的單純化. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.4.234
文章代碼(AID): #1H3wumLM (java)
文章代碼(AID): #1H3wumLM (java)