【Java重拾】Java基礎(chǔ)知識點合集

本文主要用來記錄一些不容易記住的Java基礎(chǔ)知識點步脓,不定期更新...

  1. 類的加載順序

(1) 父類靜態(tài)代碼塊(包括靜態(tài)初始化塊罗捎,靜態(tài)屬性观谦,但不包括靜態(tài)方法)
(2) 子類靜態(tài)代碼塊(包括靜態(tài)初始化塊,靜態(tài)屬性宛逗,但不包括靜態(tài)方法 )
(3) 父類非靜態(tài)代碼塊( 包括非靜態(tài)初始化塊坎匿,非靜態(tài)屬性 )
(4) 父類構(gòu)造函數(shù)
(5) 子類非靜態(tài)代碼塊 ( 包括非靜態(tài)初始化塊盾剩,非靜態(tài)屬性 )
(6) 子類構(gòu)造函數(shù)
其中:類中靜態(tài)塊按照聲明順序執(zhí)行雷激,并且(1)和(2)不需要調(diào)用new類實例的時候就執(zhí)行了(意思就是在類加載到方法區(qū)的時候執(zhí)行的)

  1. Java中無需強制向下轉(zhuǎn)型關(guān)系圖
Java中無需強制向下轉(zhuǎn)型關(guān)系圖
  1. 從本質(zhì)解決i++與++i相關(guān)筆試題

需要理解Java指令的執(zhí)行過程替蔬,i++會先將變量i推入棧,再對變量i所在內(nèi)存進行自增屎暇。++i則是先對變量i所在內(nèi)存進行自增承桥,再將該內(nèi)存推入棧。只需記住這兩點根悼,各種圍繞其展開的筆試題就很容易解決了凶异。

public static void main(String[] args){
  int i = 0;
  //以下注釋中i代表i在內(nèi)存中的真實值,$i代表棧中i副本的值
  System.out.println(i++);  //i入棧,$i=0挤巡;然后i++,i=1剩彬;執(zhí)行println方法,彈出棧頂$i矿卑,故輸入0
  System.out.println(i);  //如上分析喉恋,i=1,輸出1
  System.out.println(++i);  //先i++,i=2母廷;然后i入棧轻黑,$i=2;然后執(zhí)行println方法琴昆,彈出棧頂$i氓鄙,故輸入2
  System.out.println(i); //如上分析,i=2业舍,輸出2
  i = i++ * 3 + 5;  //i入棧,$i=2抖拦;i++,i=3舷暮;棧頂操作3*$i=6蟋座;棧頂操作6+5=11;再將棧頂?shù)闹低迫胱兞縤中覆蓋原先的值3脚牍,故i為11
  System.out.println(i);  //如上分析向臀,i=11,輸出11
}
  1. 自動拆箱的空指針錯誤
public class SimpleTest {

    static class Value{
        public Integer value;
    }

    @Test
    public void test(){
        Value value = new Value();
        Integer i = true ? value.value : 1;
//        System.out.println(true ? value.value : 1);
    }

}

由于自動拆箱/裝箱機制诸狭,使用三目運算時券膀,若結(jié)果中同時存在包裝類型和基礎(chǔ)類型,那么Java會將包裝類型轉(zhuǎn)換為基礎(chǔ)類型驯遇。注意芹彬,即使你的代碼要求的是返回包裝類型,Java也會先計算出基礎(chǔ)類型的結(jié)果后叉庐,再將其轉(zhuǎn)換為包裝類型舒帮。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子玩郊,更是在濱河造成了極大的恐慌肢执,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件译红,死亡現(xiàn)場離奇詭異预茄,居然都是意外死亡,警方通過查閱死者的電腦和手機侦厚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門耻陕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刨沦,你說我怎么就攤上這事诗宣。” “怎么了想诅?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵梧田,是天一觀的道長。 經(jīng)常有香客問我侧蘸,道長裁眯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任讳癌,我火速辦了婚禮穿稳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘晌坤。我一直安慰自己逢艘,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布骤菠。 她就那樣靜靜地躺著它改,像睡著了一般。 火紅的嫁衣襯著肌膚如雪商乎。 梳的紋絲不亂的頭發(fā)上央拖,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音鹉戚,去河邊找鬼鲜戒。 笑死,一個胖子當(dāng)著我的面吹牛抹凳,可吹牛的內(nèi)容都是我干的遏餐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼赢底,長吁一口氣:“原來是場噩夢啊……” “哼失都!你這毒婦竟也來了柏蘑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤粹庞,失蹤者是張志新(化名)和其女友劉穎咳焚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體信粮,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年趁啸,在試婚紗的時候發(fā)現(xiàn)自己被綠了强缘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡不傅,死狀恐怖旅掂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情访娶,我是刑警寧澤商虐,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站崖疤,受9級特大地震影響秘车,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜劫哼,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一叮趴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧权烧,春花似錦眯亦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至板祝,卻和暖如春宫静,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背券时。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工囊嘉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人革为。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓扭粱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親震檩。 傳聞我的和親對象是個殘疾皇子琢蛤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 整理來自互聯(lián)網(wǎng) 1蜓堕,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境博其,java的開發(fā)工具...
    Ncompass閱讀 1,537評論 0 6
  • 一:java概述:1套才,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境慕淡,java的開發(fā)工...
    ZaneInTheSun閱讀 2,635評論 0 11
  • 一背伴、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計...
    子非魚_t_閱讀 4,160評論 1 44
  • 1、三代單傳斷了根峰髓?什么垃圾三觀傻寂,女的就不是人嗎還孫一根孫一串,上天吧導(dǎo)演携兵,以后不生二胎是不是得罰款了疾掰? 2、你出...
    文案館閱讀 272評論 0 0
  • 誰借東風(fēng)入草堂徐紧,疏影橫斜静檬,次第花香。雙飛紫燕筑巢忙并级,日麗風(fēng)和拂檩,不負春光。 心緒難平卻感傷嘲碧,愁倚軒窗广恢,滿目盈光。半生...
    云水禪心ZLM閱讀 272評論 0 6