Java常见代码块的作用与区别
生活随笔
收集整理的這篇文章主要介紹了
Java常见代码块的作用与区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
注意:代碼塊中聲明的變量的作用域只在這個代碼塊中
1. 局部代碼塊
作用在方法當中,作用是控制變量的生命周期:
public void show(){{System.out.println("局部代碼塊運行!");} }在程序中當我們定義完成一個局部變量x之后,并且在接下來的代碼中,不想再用到它時,那么就沒必要讓x在內存中繼續占用空間。因此就有了局部代碼塊。
2. 構造代碼塊
作用在類的定義Body中,作用是給類的部分字段統一初始化:
public class Apple {private String size;//構造代碼塊 {System.out.println("構造代碼塊運行!");size = "E";} }構造代碼塊與構造函數的區別是:構造代碼塊是給所有對象進行統一初始化,而構造函數是給對應的對象初始化,因為構造函數是可以多個的,運行哪個構造函數就會建立什么樣的對象,但無論建立哪個對象,都會先執行相同的構造代碼塊。也就是說,構造代碼塊中定義的是不同對象共性的初始化內容。所以理所當然的,構造代碼塊在構造函數之前執行。
3. 靜態代碼塊
作用有兩個:?
(1)給類的靜態變量賦值;?
(2)聲明靜態變量;
作用在類的Body中,對類中的靜態變量初始化:
public class APP {static int x, y; // 靜態變量static {x = 5; // 給靜態變量x賦值}public static void myMethod() {y = x++ + ++x; // x++ 先使用x的值再加1;++x先加1再使用x的值}public static void main(String[] args) {x--;myMethod();System.out.println(x + y + ++x);} }輸出:23注意,如果靜態代碼塊中的代碼改為:
static {int x = 5; // 聲明一個靜態變量 }則只是在聲明靜態變量,而且這個靜態變量的作用域只在這個代碼塊中,而不是進行初始化,最后的輸出結果是3。
轉載自:https://blog.csdn.net/dustin_cds/article/details/79143760
總結
以上是生活随笔為你收集整理的Java常见代码块的作用与区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript中的原型protot
- 下一篇: java美元兑换,(Java实现) 美元