Java中普通代碼塊,構造代碼塊,靜態代碼塊執行順序


執行順序:(優先級從高到低。)靜態代碼塊>mian方法>構造代碼塊>構造方法

其中靜態代碼塊只執行一次。構造代碼塊在每次創建對象是都會執行。

static塊,普通代碼塊,構造代碼塊執行順序


class A{
public A(){
System.out.println("Hello A");
}
{
System.out.println("block A");
}
static{
System.out.println("static A");
}
}


public class B extends A{

public B(){
System.out.println("Hello B");
}
{
System.out.println("Block B");
}
static{
System.out.println("static B");
}
public static void main(String[] args) {
B d = new B();
}

}

 

輸出:

static A
static B
block A
Hello A
Block B
Hello B

思考一下:靜態代碼塊> 普通代碼塊 > 構造代碼塊

示例2:

package zqd.demo;


class A{  
 
    static{  
        System.out.println("1");  
    }  
  
    public A(){  
        System.out.println("2");  
    }  
    {
    System.out.println("3");
    }
}  
  
class B extends A{  
  
{
System.out.println("c");
}
    static{  
        System.out.println("a");  
    }  
  
    public B(){  
        System.out.println("b");  
    }  
}  
  
public class Hello{  
  
    public static void main(String[] args){  
        A ab = new B();  
        ab = new B();  
    }  
  
}

輸出:

1
a
3
2
c
b
3
2
c
b


免責聲明!

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



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