Discussion:
[問題]construct&method, method&method執行順 …
(时间太久无法回复)
淺水中
2007-06-16 04:28:03 UTC
Permalink
※ 引述《rockcen (杰)》之銘言:
: 1.我遇到一種情況
: method(){
: method_1();
: method_2();
: }
: method_2()需要method_1()的所產出的實體變數或物件才能執行
: 當call method()時method_1()和method_2()執行順序不是由上而下
: 有時後會由下而上, 此時error就產生了!
: 2.為了解決上面的情況, 我改寫將method_1()放到construct
: public class MyObject{
: public MyObject(){
: method_1();
: }
: ..
: //其餘程式碼
: }
: //從main具體化物件
: MyObject myobject = new Myobject();
: myobject.method_2();
: 在我的認知中寫在contruct的method會在
: 物件具體化時, 率先執行,我又遇到了
: 物體先具體化->執行method_2()->執行method_1()
: 所以Error又產生了~"~
: 1和2我都匪夷所思, 很想知道為什麼
: 請教一下大家!
: 感恩!
為什麼不把new instance的動作放到所有的method之外

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.105.36
2007-06-16 04:47:57 UTC
Permalink
※ 引述《calais007 (淺水中)》之銘言:
: ※ 引述《rockcen (杰)》之銘言:
: :
: : //從main具體化物件
: : MyObject myobject = new Myobject();
: : myobject.method_2();
: : 在我的認知中寫在contruct的method會在
: : 物件具體化時, 率先執行,我又遇到了
: : 物體先具體化->執行method_2()->執行method_1()
: : 所以Error又產生了~"~
: : 1和2我都匪夷所思, 很想知道為什麼
: : 請教一下大家!
: : 感恩!
: 為什麼不把new instance的動作放到所有的method之外
我在新的class裡面宣reference variable
在新的class construct 裡面new instance
然後從這個class寫新method呼叫instance
解決了這個問題, 非常感謝!!

不過為什麼會有1和2的問題
我還是想請教一下!

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.1.105
2007-06-16 05:24:42 UTC
Permalink
※ 引述《calais007 (淺水中)》之銘言:
: ※ 引述《rockcen (杰)》之銘言:
: : //從main具體化物件
: : MyObject myobject = new Myobject();
: : myobject.method_2();
: : 在我的認知中寫在contruct的method會在
: : 物件具體化時, 率先執行,我又遇到了
: : 物體先具體化->執行method_2()->執行method_1()
: : 所以Error又產生了~"~
: : 1和2我都匪夷所思, 很想知道為什麼
: : 請教一下大家!
: : 感恩!
: 為什麼不把new instance的動作放到所有的method之外

不好意思, 我不是很了解
你指的是將宣告reference variable建構object同時放在
class裡面method外面嗎?(我試了還是不行..)
為什麼要這麼做呢?

謝謝指教!

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.1.105
※ 編輯: rockcen 來自: 61.62.1.105 (06/16 13:24)
继续阅读narkive:
Loading...