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

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

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

瀏覽:157日期: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
相關文章:
主站蜘蛛池模板: 亚洲一区二区三区四区 | 国产九九免费视频网站 | 精品国产一区二区三区成人 | 一级视频在线 | 欧美日韩精品一区二区另类 | 久久精品毛片 | 成人ab片| 婷婷91| 免费日本在线视频 | 久久久亚洲欧洲日产国码二区 | 成视频年人黄网站免费 | 精品三级国产 | 久久综合婷婷香五月 | 欧美性aaa | 国产精品天堂avav在线 | 欧美一区二区三区高清视频 | 亚洲精品二区中文字幕 | 欧美成人性色xxxx视频 | 日本a级特黄三级三级三级 日本a一级片 | 性xxxx奶大欧美高清 | 男女超猛烈啪啦啦的免费视频 | 成人在线网站 | 亚洲国语 | 欧美一区二区三区不卡片 | 久久亚洲精品中文字幕第一区 | 亚洲日韩中文字幕 | 绝对真实偷拍盗摄高清在线视频 | 国产亚洲自在精品久久 | 国产一级二级三级视频 | 久久精品国产欧美日韩亚洲 | 高清午夜看片a福利在线观看琪琪 | 欧美亚洲91| 国产精品高清在线观看地址 | 日韩欧美一区二区中文字幕 | 久久免费视频精品 | 成 人 黄 色 视频 免费观看 | 一区二区三区视频在线 | 91国内视频 | 偷拍自拍视频在线 | 一区二区三区在线免费观看视频 | 老师张开腿让我捅 |