JAVA中初始化順序複習

2021-06-07 22:51:39 字數 1111 閱讀 2391

**:

static final、static、final區別

static:靜態,全域性變數,類的物件共享乙個靜態變數,只初始化一次。

final:常量,如果是方法則不可覆蓋,如果是類不可被繼承,必須初始化時設定值,設定後就不能改了

static final:靜態變數

初始化順序如下:

父類靜態變數(靜態初始化話塊)> 子類靜態變數(靜態初始化塊)>父類普通變數(普通初始化塊)>父類構造方法》父類普通方法

>子類普通變數(普通初始化塊)>子類構造方法》子類普通方法

下面是乙個例子就說明了這一切

package com.loulijun.test1;

public class test1

}class father

static int init(int j)

//靜態初始化塊

static

static string initstr(string str)

//初始化塊

//構造方法

public father()

public void say()

}class son extends father

static int init(int i)

//靜態初始化塊

static

static string initstr(string str)

//初始化塊

//構造方法

public son()

public void say()

}

執行結果:

father:靜態變數---1

father:靜態常量---2

father:靜態初始化塊---3

son:靜態變數---1

son:靜態常量---2

son:靜態初始化塊---3

father:普通變數---4

father:普通初始化塊---5

father:父類構造器---6

son:普通變數---4

son:普通初始化塊---5

son:子類構造器6

son:普通方法---7

java初始化順序

1 父類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 2 子類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 3 父類例項成員和例項初始化塊 按在 中出現的順序依次執行 4 父類構造方法 5 子類例項成員和例項初始化塊 按在 中出現的順序依次執行 6 子類構造方法 public abstr...

java初始化順序

例如以下 package chapter5 public class demo1one public void printinfo public static void main string args 程式一開始先執行 private static string password 0721 這行 ...

JAVA初始化順序

1 當使用新建物件例項或者呼叫靜態成員變數或者方法時,初始化靜態變數 2 靜態變數在初始化時在前面的先初始化,靜態塊和靜態變數相同對待 在初始化過程中,有新建物件例項的時候,暫時停止後面的靜態變數初始化 3 靜態變數沒有初始化時,使用預設的初始值 如int為0 4 新建物件例項,對非靜態的成員變數進...