第三次学JAVA再学不好就吃翔(part29)--代码块
生活随笔
收集整理的這篇文章主要介紹了
第三次学JAVA再学不好就吃翔(part29)--代码块
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
學(xué)習(xí)筆記,僅供參考
面向?qū)ο?/h2>
代碼塊
- 代碼塊概述
- 在Java中,使用{}括起來的代碼被稱為代碼塊。
- 代碼塊分類
- 根據(jù)其位置和聲明的不同,可以分為局部代碼塊,構(gòu)造代碼塊,靜態(tài)代碼塊,同步代碼塊(多線程)。
- 常見代碼塊的應(yīng)用
- 局部代碼塊
- 在方法中出現(xiàn);限定變量生命周期,及早釋放內(nèi)存
- 構(gòu)造代碼塊 (初始化塊)
- 在類中方法外出現(xiàn);多個構(gòu)造方法中相同的代碼存放到一起,每次調(diào)用構(gòu)造都執(zhí)行,并且在構(gòu)造方法前執(zhí)行
- 靜態(tài)代碼塊
- 在類中方法外出現(xiàn),并加上static修飾;用于給類進(jìn)行初始化,在加載的時候就執(zhí)行,并且只執(zhí)行一次。
- 一般用于加載驅(qū)動
- 舉個例子(局部代碼塊)
- 在Java中,使用{}括起來的代碼被稱為代碼塊。
- 根據(jù)其位置和聲明的不同,可以分為局部代碼塊,構(gòu)造代碼塊,靜態(tài)代碼塊,同步代碼塊(多線程)。
- 局部代碼塊
- 在方法中出現(xiàn);限定變量生命周期,及早釋放內(nèi)存
- 構(gòu)造代碼塊 (初始化塊)
- 在類中方法外出現(xiàn);多個構(gòu)造方法中相同的代碼存放到一起,每次調(diào)用構(gòu)造都執(zhí)行,并且在構(gòu)造方法前執(zhí)行
- 靜態(tài)代碼塊
- 在類中方法外出現(xiàn),并加上static修飾;用于給類進(jìn)行初始化,在加載的時候就執(zhí)行,并且只執(zhí)行一次。
- 一般用于加載驅(qū)動
我們看看使用局部代碼塊和不使用局部代碼塊的區(qū)別:。
使用局部代碼塊:
class Test0601A {public static void main(String[] args) {{int x = 10;System.out.println(x);}} }輸出:
10不使用局部代碼塊:
class Test0601A {public static void main(String[] args) {int x = 10;System.out.println(x);} }輸出:
10從結(jié)果來看,使用局部代碼塊和不使用局部代碼塊好像沒啥區(qū)別啊!這是咋回事?
別急,我們看下面這段代碼:
class Test0601A {public static void main(String[] args) {{int x = 10;}System.out.println(x);} }報(bào)錯:
---------- javac ---------- Test0601A.java:7: 錯誤: 找不到符號System.out.println(x);^符號: 變量 x位置: 類 Test0601A 1 個錯誤Output completed (2 sec consumed) - Normal Termination我們在編譯時報(bào)錯了,JAVA找不到符號x,這是因?yàn)槲覀兌x的變量x在局部代碼塊內(nèi),當(dāng)出了這個局部代碼塊,代碼塊內(nèi)的變量x就被釋放掉了,所以JAVA就找不到變量x了。
- 舉個例子(構(gòu)造代碼塊)
輸出:
構(gòu)造代碼塊 空參構(gòu)造 ---------- 構(gòu)造代碼塊 有參構(gòu)造我們發(fā)現(xiàn),每創(chuàng)建一次對象,構(gòu)造代碼塊就會被執(zhí)行一次,且構(gòu)造代碼塊是隨著構(gòu)造函數(shù)的調(diào)用而執(zhí)行的,且構(gòu)造代碼塊在構(gòu)造函數(shù)之前執(zhí)行。
- 舉個例子(靜態(tài)代碼塊)
輸出:
我是主方法類中的靜態(tài)代碼塊 我是Bunny類的靜態(tài)代碼塊 構(gòu)造代碼塊 空參構(gòu)造 ---------- 構(gòu)造代碼塊 有參構(gòu)造靜態(tài)代碼塊隨著類的加載而加載,它只執(zhí)行一次,用來給類進(jìn)行初始化。如果主方法類中有靜態(tài)代碼塊,則它會優(yōu)先于主方法main執(zhí)行。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part29)--代码块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾达 FH456 无线路由器网速控制
- 下一篇: 5月肖鸡的整体运势