色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

請問關于 Java static 變量的問題?

瀏覽:125日期:2023-12-20 09:55:54

問題描述

public class StaticTest { private static String a; private static String b = 'this is ' + a; public static void main(String[] args) {a = 'test';// I think the result is this is test// but the result is this is null, why?System.out.println(b); } // // 我本以為輸出結果是 this is test // 沒想到輸出結果為 this is null, 這是什么原因}

問題解答

回答1:

首先第一個:你在定義A變量時,就沒有賦初值,所以A為NULL,然后得到B自然就是this is null然后第二個:public static void main,編譯器在編譯這段代碼時a,b先被main函數引用,你再更改a,a倒是被更改了,但b還是那個b,永遠都是this is null。你需要明白靜態函數運行的過程的意義。你的B沒有動態被set,當然獲得的就算那個靜態b,而不會被動態編譯。

回答2:

這是關于JVM的類初始化機制吧,字節碼轉為運行對象的三個過程裝載,連接,初始化。。。其中連接的準備過程會給a賦予默認值null,因為 StaticTest 具有main方法,被設定為 JVM 啟動時的啟動類會執行主動調用,進行類的初始化,執行這兩行代碼 private static String a;private static String b = 'this is ' + a;所以b=this is null

標簽: java
相關文章:
主站蜘蛛池模板: 国产午夜永久福利视频在线观看 | 日韩亚洲一区中文字幕 | 找个毛片看看 | 毛片特黄 | 中文字幕一二三四区2021 | 亚洲精品成人7777在线观看 | 午夜一级做a爰片久久毛片 午夜伊人网 | 亚洲免费人成在线视频观看 | 免费看a级片 | 久久久久久久久免费影院 | 欧美成人性色生活片天天看 | 美女张开腿黄网站免费 | 精品一久久 | 亚洲精品国产一区二区三 | 久久国产精品亚洲 | 普通话对白国产情侣自啪 | 97精品国产高清在线看入口 | 一级生性活免费视频 | 91精品观看91久久久久久 | 在线播放亚洲美女视频网站 | 国内外成人免费在线视频 | 视频二区在线观看 | 成人国产精品视频频 | selaoban在线视频免费精品 | 亚洲爱爱天堂 | 草草视频手机在线观看视频 | 成人欧美在线 | 在线毛片观看 | 一级网站片 | 成人午夜两性视频免费看 | 99精品视频在线视频免费观看 | 日本黄页免费 | 波多野结衣一区二区在线 | 亚洲国产精品综合欧美 | 国产91综合 | 国产乱码一区二区三区四川人 | 亚洲精品国产高清不卡在线 | 手机看片福利永久 | 国产美女精品视频免费观看 | 亚洲好视频 | 欧美人成在线视频 |