java中的代碼塊執行順序


/*
代碼塊:在Java中,使用{}括起來的代碼被稱為代碼塊。
根據其位置和聲明的不同,可以分為


局部代碼塊:局部位置,用於限定變量的生命周期。
構造代碼塊:在類中的成員位置,用{}括起來的代碼。每次調用構造方法執行前,都會先執行構造代碼塊。
作用:可以把多個構造方法中的共同代碼放到一起,對對象進行初始化。
靜態代碼塊:在類中的成員位置,用{}括起來的代碼,只不過它用static修飾了。
作用:一般是對類進行初始化。


靜態代碼塊,構造代碼塊,構造方法的執行順序?

 

首先執行靜態代碼塊

接着執行構造代碼塊

最后指向構造方法


靜態代碼塊 -- >構造代碼塊 --> 構造方法
靜態代碼塊:只執行一次
構造代碼塊:每次調用構造方法都執行
*/
class Code {
static {
int a = 1000;
System.out.println(a);
}

//構造代碼塊
{
int x = 100;
System.out.println(x);
}

//構造方法
public Code(){
System.out.println("code");
}

//構造方法
public Code(int a){
System.out.println("code");
}

//構造代碼塊
{
int y = 200;
System.out.println(y);
}

//靜態代碼塊
static {
int b = 2000;
System.out.println(b);
}
}

class CodeDemo {
public static void main(String[] args) {
//局部代碼塊
{
int x = 10;
System.out.println(x);
}
//找不到符號
//System.out.println(x);
{
int y = 20;
System.out.println(y);
}
System.out.println("---------------");

Code c = new Code();
System.out.println("---------------");
Code c2 = new Code();
System.out.println("---------------");
Code c3 = new Code(1);
}
}

 

執行結果

---------- 運行java ----------
10
20
---------------
1000
2000
100
200
code
---------------
100
200
code
---------------
100
200
code

輸出完成 (耗時 0 秒) - 正常終止


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM