Java中靜態代碼塊與構造代碼塊的簡單介紹


靜態代碼塊只執行一次。

構造代碼塊在每一次構造對象的開始執行,每構造一次都會執行一次。其與構造函數的區別是構造代碼塊無論針對所有的對象初始化都會執行,構造函數只會和相匹配的函數一致時才會執行。

下面為靜態代碼例子

class StaticCode
{

    static
    {
        System.out.println("I'm staticcode");
    }

    void show()
    {
        System.out.println("show run");
    }
}

class StaticCodeDemo
{

    public static void main(String[] args) 
    {
        new StaticCode().show();
        new StaticCode().show();
    }
}

///結果
//I'm staticcode
//show run
//show run

下面是構造代碼塊的例子

class Person
{
    String name;
    //構造函數的代碼塊
    {
        System.out.println("哇啊");
    }

    Person()
    {
        name="baby";
        show();
    }

    Person(String name)
    {
        this.name=name;
        show();
    }

    void show()
    {
        System.out.println("name"+name);
    }
}




class  StaticConstructor
{
    public static void main(String[] args) 
    {
        Person p1=new Person();
        Person p2=new Person("旺財");
    }
}
//哇啊
//namebaby
//哇啊
//name旺財

 


免責聲明!

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



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