static |
答題得分者是:neoart
|
Randgris
一般會員 發表:20 回覆:30 積分:10 註冊:2007-04-15 發送簡訊給我 |
Java在使用到類別時才會加以載入程式中,如果您要使用一個static資料或方法,而在載入一個類別時,您希望先進行一些初始化動作,您可以使用static定義一個區塊,並在當中撰寫初始化資源的動作,例如:
<textarea class="java" rows="10" cols="60" name="code"> public class Ball { public static int[] arr = new int[10]; static { // 一些初始化程式碼 } .... } </textarea> 請問上述到底實際上是什麼意思呢? 我只知道static資料或方法 可是不太了解上述這段 到底能拿來做什麼用處 麻煩幫忙解析一下 感謝 |
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
static 區塊的方法,我也是第一次看到
(sorry,目前我在工作中只用到1.4.x的jre) 不過我大概可以說一下,希望對你有幫助 就是初始化設定 以你的例子來看,有10個元素可以在這個static block設定,在"載入時" 做第一次初始化賦值 你總不能在每次的建構元中去判別是不是該陣列已初始化呢?( ex: if (xxx=null){ xxx的初始化} ) 這倒是可以省卻一些判別的小工作啦 我也小查了下一下,static block不可以有傳回值,另外,既然那是static方法,就不能用this & super這類的指標了(還有,例外處理,這點要小心) 另外,就singleton的static instance在建構時,可以用這方式,因為sychronization的成本有點高,直接以static block來賦值是不錯的選擇 參考 : http://jguru.com/faq/view.jsp?EID=249930
編輯記錄
neoart 重新編輯於 2007-05-27 19:12:18, 註解 無‧
|
Randgris
一般會員 發表:20 回覆:30 積分:10 註冊:2007-04-15 發送簡訊給我 |
|
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
|
Randgris
一般會員 發表:20 回覆:30 積分:10 註冊:2007-04-15 發送簡訊給我 |
|
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |