中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中靜態代碼塊的用法

發布時間:2020-06-23 18:06:42 來源:億速云 閱讀:185 作者:元一 欄目:編程語言

這篇文章運用簡單易懂的例子給大家介紹java中靜態代碼塊的用法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

靜態代碼塊就是在類中用static{}括起來的代,因為屬于類,所以在程序載入的時候就執行,優先于創造對象

static可以修飾屬性、方法、內部類、代碼塊。

靜態代碼塊在類加載時就調用, 而且只執行一次, 并且優先于各種代碼塊以及構造函數。

有一個地方的靜態代碼被使用,那么所有的靜態代碼塊都會被調用。

示例如下:

主類

public class Main {
    public static void main(String[] args) {
        // Human human = new Man(); 輸出2 4 1 3
        
        //父類的類名調用父類的方法
		//Human.test();      
		//輸出2 6   在調用靜態代碼時,怕需要上面的靜態代碼塊的內容,所以將其鏈接到內存    與子類無關
        
        //子類的類名調用子類的方法
        //Man.doo();       
       // 輸出2  4  5  在調用子類的靜態方法時,父類的靜態代碼塊執行,與父類的靜態代碼塊有關
         
         //子類的類名調用父類的方法
         //Man.test();   
        // 輸出  2 6  注意這個能調test不是因為繼承,test聲明在了human里,子類可以調用父類的方法,
        //但是父類不能調用子類的方法  所以在Main中不可直達Man中的的方法

        //子類調用了父類的方法,在父類的方法里又引用了子類里的靜態方法
        //Man.test();    輸出  2 6 4 5
    }
}

父類

public class Human {
    static {
        System.out.println("2.父類中的靜態代碼塊");
    }
    public String name;
    public Human() {
        System.out.println("1.父類中的構造方法");
    }

    public static void test() {
        System.out.println("6.父類中的靜態方法");
    }
}

子類

public class Man extends Human {
    static {
        System.out.println("4.子類中的靜態代碼塊");
    }
    public Man() {
        System.out.println("3.子類中的構造方法");
    }
    public static void doo() {
        System.out.println("5.子類中的靜態方法");
    }
}

靜態代碼塊內容先執行(但只執行一次),接著執行父類構造方法,然后執行子類構造方法。

關于java中靜態代碼塊的用法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临洮县| 东乡县| 澄迈县| 陆河县| 轮台县| 蓝田县| 雷州市| 峡江县| 黔南| 洪湖市| 辽中县| 泸水县| 乌拉特后旗| 双牌县| 长顺县| 晋中市| 全南县| 旬阳县| 深州市| 淮安市| 平和县| 商城县| 大余县| 确山县| 乐陵市| 七台河市| 广东省| 安徽省| 保亭| 洪雅县| 保康县| 兴城市| 久治县| 中江县| 平湖市| 怀来县| 灵川县| 镇赉县| 离岛区| 宝山区| 南溪县|