java 繼承類載入順序

2021-06-27 20:12:59 字數 928 閱讀 8133



package xu.jin;

class insect

static

static int print(string str)

static int x1=print("static insect");}

class hello extends insect

static

public static void main(string args)

}

output:12

3456

78910

1112

1314

15 3

4static insect

static hello

3344

hello i12

insect2

hello j

1122

hello2

hello world

首先載入類,再初始化。想想也知道肯定先載入基類,再子類,初始化也是,子類是在基類基礎上進行新增,肯定先要初始化基類再子類。 先初始化static的變數,在執行main()方法之前就需要進行載入。再執行main方法,如果new乙個物件,則先對這個物件類的基本成員變數進行初始化(非方法),包括構造**塊,這兩種是按照編寫順序按序執行的,再呼叫建構函式。 關於繼承的初始化機制,首先執行含有main方法的類,觀察到hello類含有基類insect,即先載入insect類的static變數,再載入hello類的static變數。載入完static變數之後,呼叫main()方法,new hello則先初始化基類的基本變數和構造**塊,再呼叫基類的構造方法。然後再初始化子類hello的基本變數和構造**塊,再執行子類的建構函式。

java基礎 繼承關係類載入順序問題

created by fei on 2017 5 31.public class sonclass extends parentclass static public static void main string args class parentclass static 執行結果 parentc...

java類載入順序

1 父類靜態成員和靜態初始化塊,按在 中出現的順序依次執行。2 子類靜態成員和靜態初始化塊,按在 中出現的順序依次執行。3 父類例項成員和例項初始化塊,按在 中出現的順序依次執行。4 執行父類構造方法。5 子類例項成員和例項初始化塊,按在 中出現的順序依次執行。6 執行子類構造方法。下面提供了有關靜...

java類載入順序

package com.demo description 類載入順序 author fujianyong 2015 2 6上午11 21 37 public class classloadersequence public static void test1 public void test2 pu...