Re: [問題] 在類別中生成一個自己的實例(static用 …

看板java作者 (._.)時間17年前 (2007/07/13 02:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/8 (看更多)
※ 引述《Ronamtis (Tis)》之銘言: : 大家好,我剛學習 Java,對一些概念都在似懂非懂的狀態中,希望大家解答小弟 : 疑惑,並指出正確的觀念應該是什麼。 : 以下這段程式碼 : public class AccountDB { : private static AccountDB onlyInstance = null; : //其餘成員變數在此 : public AccountDB() { : //建構式 : } : public static AccountDB instance () { : if (onlyInstance == null) onlyInstance = new AccountDB(); : return onlyInstance; : } : } Singleton?... 不過建構式怎麼是 public... : 我的問題是:在 AccountDB 類別產生了一個 AccountDB 自己的實例,這到底是怎 : 麼回事呢?是否因為 onlyInstance 被宣告成 static,只有在類別第一次被呼叫時 : 會產生出來,所以不會發生無窮迴圈的問題?(我知道這裡只產生了參考物件,但 : 在其他地方曾看過一個類別的宣告中又生成一個自己的 static 物件的程式碼,在這 : http://www.javaworld.com.tw/jute/post/view?bid=29&id=132496&sty=1&tpg=5&age=0 我個人是不太清楚怎麼用 if 達成無窮迴圈... 這個疑問交給其他人吧... : 第二個問題是:被宣告成 static 的 method 不會有實體變數,那宣告成 static 的 : 物件會真的產生一個物件,並且有自己的成員嗎? : 沒用實體變數的 method (或物件?)不會佔用 heap 的空間,但是怎麼執行的呀? : 觀念很不清楚,不知道有沒有善心人士可以指點一下迷津...謝謝 :) http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/AboutStaticMember.htm -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.148.49
文章代碼(AID): #16bdXfEH (java)
討論串 (同標題文章)
文章代碼(AID): #16bdXfEH (java)