java 类的执行顺序_Java中类的执行顺序
講解在代碼中:
package 類執(zhí)行順序;
/**
* java類執(zhí)行順序
*
* 1、如果父類有靜態(tài)成員賦值或者靜態(tài)初始化塊,執(zhí)行靜態(tài)成員賦值和靜態(tài)初始化塊
* 2、如果類有靜態(tài)成員賦值或者靜態(tài)初始化塊,執(zhí)行靜態(tài)成員賦值和靜態(tài)初始化塊
* 3、將類的成員賦予初值(原始類型的成員的值為規(guī)定值,例如int型為0,float型為0.0f,boolean型為false;對象類型的初始值為null)
* 4、如果構(gòu)造方法中存在this()調(diào)用(可以是其它帶參數(shù)的this()調(diào)用)則執(zhí)行之,執(zhí)行完畢后進入第7步繼續(xù)執(zhí)行,如果沒有this調(diào)用則進行下一步。(這個有可能存在遞歸調(diào)用其它的構(gòu)造方法)
* 5、執(zhí)行顯式的super()調(diào)用(可以是其它帶參數(shù)的super()調(diào)用)或者隱式的super()調(diào)用(缺省構(gòu)造方法),此步驟又進入一個父類的構(gòu)造過程并一直上推至Object對象的構(gòu)造。
* 6、執(zhí)行類申明中的成員賦值和初始化塊。
* 7、執(zhí)行構(gòu)造方法中的其它語句。
* */
public class SonClass extends FatherClass{
{
System.out.println("SonClass中初始化代碼塊");
}
static {
System.out.println("SonClass中static初始化代碼塊");
}
public SonClass() {
// TODO Auto-generated constructor stub
System.out.println("SonClass中構(gòu)造方法");
}
public static void main(String[] args) {
//FatherClass class1 = new FatherClass();
SonClass class2 = new SonClass();
}
}
package 類執(zhí)行順序;
public class FatherClass {
{
System.out.println("FatherClass的初始化塊");
}
static {
System.out.println("FatherClass中static初始化代碼塊");
}
public FatherClass() {
// TODO Auto-generated constructor stub
System.out.println("FatherClass的構(gòu)造方法");
}
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的java 类的执行顺序_Java中类的执行顺序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HbuilderX下载安装
- 下一篇: ps42k20服务器出现问题_天高客户端