作者Ronamtis (Tis)
看板java
标题Re: [问题] 在类别中生成一个自己的实例(static用 …
时间Fri Jul 13 13:20:41 2007
※ 引述《godfat (godfat 真常)》之铭言:
: ※ 引述《Ronamtis (Tis)》之铭言:
: : 我的问题是:在 AccountDB 类别产生了一个 AccountDB 自己的实例,这到底是怎
: : 麽回事呢?是否因为 onlyInstance 被宣告成 static,只有在类别第一次被呼叫时
: : 会产生出来,所以不会发生无穷回圈的问题?
: 说到这,我倒是真的干过无穷产生的问题﹍不过这是题外话
: 你可以把 static 想成 class, 所以 static method => class method
: static field => class field
: class 当然只有一个,所以没有问题,这是你的 class 去存取一个 instance,
: 不是 class 存取 class 也不是 instance 存取 instance.
: 个人认为这是 C 的祸害 :o
: 让人困惑的 static 多重意义,java 早就没有最早的 static 了
感谢诸位大大的回答,我也看了良葛格笔记和蔡学镛先生写的解说:
http://www.oreilly.com.tw/column_sleepless.php?id=j021
观念比较清楚了!不过在蔡学镛的解说中提到
如果某 class 的 class method 或 instance method 欲使用到某 instance 的
某 instance method,就必须在前面冠上此 instance 名称,例如:obj.classMethod()
所以 static 函式成员使用非 static 函式成员的话会发生错误,因为没有 this 参考,
但是可是自行加上物件名称来使用非 static 的函式成员,例如 obj.instanceMethod()
罗?(不知道自己有没有在钻牛角尖 :p)
: : 没用实体变数的 method (或物件?)不会占用 heap 的空间,但是怎麽执行的呀?
: : 观念很不清楚,不知道有没有善心人士可以指点一下迷津...谢谢 :)
: 记忆体不是只有 heap 啊 :o
了解了 :p
--
☆ ★ . * ★ * ★ . ☆
. ★ ☆ ☆ * *
. ★ * . * . ★ .
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.44.232