日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【知识总结】Java类初始化顺序说明

發布時間:2025/4/9 java 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【知识总结】Java类初始化顺序说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信公眾號:努力編程的小豬
如有問題或建議,請公眾號留言

Java類初始化順序說明

一個類中包含如下幾類東西,他們前后是有順序關系的

  • 靜態屬性:static 開頭定義的屬性
  • 靜態方法塊: static {} 圈起來的方法塊
  • 普通屬性: 未帶static定義的屬性
  • 普通方法塊: {} 圈起來的方法塊
  • 構造函數: 類名相同的方法
  • 方法: 普通方法
  • 初始化順序

    public class LifeCycle {
    // 靜態屬性
    private static String staticField = getStaticField();
    // 靜態方法塊
    static {
    System.out.println(staticField);
    System.out.println("靜態方法塊初始化");
    System.out.println("Static Patch Initial");
    }
    // 普通屬性
    private String field = getField();
    // 普通方法塊
    {
    System.out.println(field);
    System.out.println("普通方法塊初始化");
    System.out.println("Field Patch Initial");
    }
    // 構造函數
    public LifeCycle() {
    System.out.println("構造函數初始化");
    System.out.println("Structure Initial ");
    }

    public static String getStaticField() {
    String statiFiled = "Static Field Initial";
    System.out.println("靜態屬性初始化");
    return statiFiled;
    }

    public static String getField() {
    String filed = "Field Initial";
    System.out.println("普通屬性初始化");
    return filed;
    }
    // 主函數
    public static void main(String[] argc) {
    new LifeCycle();
    }
    }

    執行結果:

    靜態屬性初始化
    Static Field Initial
    靜態方法塊初始化
    Static Patch Initial
    普通屬性初始化
    Field Initial
    普通方法塊初始化
    Field Patch Initial
    構造函數初始化
    Structure Initial

    總結:包含父子類和接口類

    普通類:
    • 靜態變量
    • 靜態代碼塊
    • 普通變量
    • 普通代碼塊
    • 構造函數
    繼承的子類:
    • 父類靜態變量
    • 父類靜態代碼塊
    • 子類靜態變量
    • 子類靜態代碼塊
    • 父類普通變量
    • 父類普通代碼塊
    • 父類構造函數
    • 子類普通變量
    • 子類普通代碼塊
    • 子類構造函數
    抽象的實現子類: 接口 - 抽線類 - 實現類
    • 接口靜態變量
    • 抽象類靜態變量
    • 抽象類靜態代碼塊
    • 實現類靜態變量
    • 實習類靜態代碼塊
    • 抽象類普通變量
    • 抽象類普通代碼塊
    • 抽象類構造函數
    • 實現類普通變量
    • 實現類普通代碼塊
    • 實現類構造函數
    接口注意:
    • 聲明的變量都是靜態變量并且是final的,所以子類無法修改,并且是固定值不會因為實例而變化
    • 接口中能有靜態方法,不能有普通方法,普通方法需要用defalut添加默認實現
    • 接口中的變量必須實例化
    • 接口中沒有靜態代碼塊、普通變量、普通代碼塊、構造函數

    轉載于:https://www.cnblogs.com/fly-piglet/p/8766226.html

    總結

    以上是生活随笔為你收集整理的【知识总结】Java类初始化顺序说明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。