日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

使用場景

在JAVA程序中,當實例化對象時,對象的所在類的所有成員變量首先要進行初始化,只有當所有類成員完成初始化后,才會調用對象所在類的構造函數創建對象。

原則

  1. 變量優先于塊、靜態優先于非靜態。
  2. 父類優先于派生類初始化。
  3. 按照成員變量定義的順序來進行初始化,即使變量定義散布于方法定義之中,它們仍然在任何方法(包括構造器)被調用前初始化。

初始化順序

父類靜態變量

父類靜態代碼塊

子類靜態變量

子類靜態代碼塊

父類非靜態變量

父類非靜態代碼塊

父類構造函數

子類非靜態變量

子類非靜態代碼塊

子類構造函數

初始化示例代碼

class Base {
 public Base() {
 System.out.println("父類構造方法");
 }
 String b = "父類非靜態變量";
 {
 System.out.println(b);
 System.out.println("父類非靜態代碼塊");
 }
 static String a = "父類靜態變量";
 static {
 System.out.println(a);
 System.out.println("父類靜態代碼塊");
 }
 public static void A() {
 System.out.println("父類普通靜態方法");
 }
}
class Derived extends Base {
 public Derived() {
 System.out.println("子類構造器");
 }
 String b = "子類非靜態變量";
 {
 System.out.println(b);
 System.out.println("子類非靜態代碼塊");
 }
 static String a = "子類靜態變量";
 static {
 System.out.println(a);
 System.out.println("子類靜態塊");
 }
 public static void A() {
 System.out.println("子類普通靜態方法");
 }
 public static void main(String[] args) {
 Base.A();
 Derived.A();
 new Derived();
 }
}

分別執行主函數里的三條指令,執行結果如下。

Base.A()

父類靜態變量

父類靜態代碼塊

子類靜態變量

子類靜態塊

父類普通靜態方法

Derived.A()

父類靜態變量

父類靜態代碼塊

子類靜態變量

子類靜態塊

子類普通靜態方法

new Derived()

父類靜態變量

父類靜態代碼塊

子類靜態變量

子類靜態代碼塊

父類非靜態變量

父類非靜態代碼塊

父類構造函數

子類非靜態變量

子類非靜態代碼塊

子類構造函數

分享到:
標簽:java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定