作者Ronamtis (Tis)
看板java
标题[问题] 在类别中生成一个自己的实例(static用法)
时间Fri Jul 13 02:16:00 2007
大家好,我刚学习 Java,对一些概念都在似懂非懂的状态中,希望大家解答小弟
疑惑,并指出正确的观念应该是什麽。
以下这段程式码
public class AccountDB {
private static AccountDB onlyInstance =
null;
//其余成员变数在此
public AccountDB() {
//建构式
}
public static AccountDB instance () {
if (onlyInstance ==
null) onlyInstance =
new AccountDB();
return onlyInstance;
}
}
我的问题是:在 AccountDB 类别产生了一个 AccountDB 自己的实例,这到底是怎
麽回事呢?是否因为 onlyInstance 被宣告成 static,只有在类别第一次被呼叫时
会产生出来,所以不会发生无穷回圈的问题?(我知道这里只产生了参考物件,但
在其他地方曾看过一个类别的宣告中又生成一个自己的 static 物件的程式码,在这
http://www.javaworld.com.tw/jute/post/view?bid=29&id=132496&sty=1&tpg=5&age=0)
第二个问题是:被宣告成 static 的 method 不会有实体变数,那宣告成 static 的
物件会真的产生一个物件,并且有自己的成员吗?
没用实体变数的 method (或物件?)不会占用 heap 的空间,但是怎麽执行的呀?
观念很不清楚,不知道有没有善心人士可以指点一下迷津...谢谢 :)
--
☆ ★ . * ★ * ★ . ☆
. ★ ☆ ☆ * *
. ★ * . * . ★ .
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.44.232
※ 编辑: Ronamtis 来自: 140.119.44.232 (07/13 02:18)