①在java中執行順序
一 靜態初始化塊
二 非靜態初始化塊
三 構造器
四 父類構造器
② java中的賦值順序
一 靜態初始化塊直接賦值
二 非靜態初始化塊直接賦值
三 父類繼承的屬性已賦值
四 靜態變量聲明時賦值
五 成員變量聲明時賦值
六 ?構造器賦值
接下來我們用一個簡單代碼來驗證一下吧
package com.Hellworld;
public class JavaProcress extends Procress{
public JavaProcress() {
// TODO Auto-generated constructor stub
System.out.println("我是構造器方法");
}
static
{
System.out.println("我是靜態初始化塊");
}
{
System.out.println("我是非靜態初始化塊");
}
public static void main(String[] args)
{
JavaProcress java = new JavaProcress();?
}
}
?
class Procress
{
public Procress() {
// TODO Auto-generated constructor stub
System.out.println("我是父類構造器方法");
}
}
運行后結果是:
我是靜態初始化塊
我是父類構造器方法
我是非靜態初始化塊
我是構造器方法