国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

static變量初始化

2019-11-08 18:26:04
字體:
來源:轉載
供稿:網友

static初始化只有在必要的時候才會進行。如果不創建一個 Table 對象,而且永遠都不引用Table.b1 或Table.b2,那么 static Bowl b1 和b2 永遠都不會創建。然而,只有在創建第一個Table 對象之后(或者發生了第一次static 訪問),它們才會創建。在那以后,static 對象不會重新初始化。初始化的順序是首先static(如果它們尚未由前一次對象創建過程初始化),接著是非static 對象。

class Table {static Bowl b1 = new Bowl(1);Table() {System.out.PRintln("Table()");}void f2(int marker) {System.out.println("f2(" + marker + ")");}static Bowl b2 = new Bowl(2);}

下屬的這段代碼僅執行一次——首次生成那個類的一個對象時,或者首次訪問屬于那個類的一個 static 成員時(即便從未生成過那個類的對象)。

class Spoon {static int i;static {i = 47;}

package demo;class Cup {Cup(int marker) {System.out.println("Cup(" + marker + ")");}void f(int marker) {System.out.println("f(" + marker + ")");}}class Cups {static Cup c1;static Cup c2;static {c1 = new Cup(1);c2 = new Cup(2);}Cups() {System.out.println("Cups()");}}public class ExplicitStatic {public static void main(String[] args) {System.out.println("Inside main()");Cups.c1.f(99); // (1)}static Cups x = new Cups(); // (2)static Cups y = new Cups(); // (2)}Cup(1)Cup(2)Cups()Cups()Inside main()f(99)

以上代碼來自thinkinjava

輸出這個結果是因為,先走static變量,會走cups的static靜態塊,輸出1,2,然后輸出空,第二次new一個y的時候靜態塊直走一次,所以1,2不生成了,所以再打印一個空,再繼續走system


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安阳县| 石柱| 麻江县| 郸城县| 新丰县| 寿阳县| 镇沅| 谷城县| 信阳市| 滨州市| 平度市| 阳信县| 申扎县| 神农架林区| 峡江县| 改则县| 驻马店市| 云林县| 栖霞市| 久治县| 济南市| 盐亭县| 北川| 开远市| 福泉市| 新宁县| 嘉善县| 资溪县| 平顶山市| 尚志市| 合山市| 龙海市| 五常市| 苍山县| 永寿县| 台州市| 郎溪县| 广平县| 泸定县| 汕头市| 清河县|