午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

請問關(guān)于 Java static 變量的問題?

瀏覽:278日期: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); } // // 我本以為輸出結(jié)果是 this is test // 沒想到輸出結(jié)果為 this is null, 這是什么原因}

問題解答

回答1:

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

回答2:

這是關(guān)于JVM的類初始化機(jī)制吧,字節(jié)碼轉(zhuǎn)為運(yùn)行對象的三個(gè)過程裝載,連接,初始化。。。其中連接的準(zhǔn)備過程會(huì)給a賦予默認(rèn)值null,因?yàn)?StaticTest 具有main方法,被設(shè)定為 JVM 啟動(dòng)時(shí)的啟動(dòng)類會(huì)執(zhí)行主動(dòng)調(diào)用,進(jìn)行類的初始化,執(zhí)行這兩行代碼 private static String a;private static String b = 'this is ' + a;所以b=this is null

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 欧美激情国产精品 | 午夜啊啊啊 | 91麻豆视频在线观看 | 狠狠干夜夜 | 欧美日韩一级二级 | 日本免费黄色网址 | 激情视频在线播放 | 欧美黄色三级 | 亚洲裸体视频 | 国产黄色网络 | 国产一区精品视频 | 人人插人人澡 | 四季av一区二区凹凸精品 | 中文字幕1区2区 | 国产 欧美 在线 | 久久精品一二区 | 男女爱爱网站 | 波多野结衣在线观看一区二区 | 日本性爱视频在线观看 | 久久99精品久久久久久国产越南 | 新超碰在线| 爽爽窝窝午夜精品一区二区 | 久操视频网站 | 天美传媒免费在线观看 | 日韩欧美三级 | 国产精品美女久久久久久久久 | 国产欧美激情 | 日韩中文网 | 免费看片91 | 黄色综合网 | 51精产品一区一区三区 | 狠狠操五月天 | 99视频热| 久久精品国产视频 | 黄色裸体网站 | 欧美综合网 | 午夜影院福利社 | 亚洲欧美日韩中文字幕在线观看 | 三级精品视频 | 天天操夜夜欢 | 一夜七次郎在线视频 |