新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
javaJVM-類加載靜態(tài)初始化塊調(diào)用順序-創(chuàng)新互聯(lián)
測試類加載的全過程
public class Have {
static {
System.out.println("加載Have");//先加載Have再調(diào)用main方法
}
public static void main(String[] args) throws Exception {
System.out.println("main方法"); //先調(diào)main方法
A a=new A(); //先初始化父類,再初始化子類
System.out.println(A.width);
A a2=new A(); //第二次只會(huì)調(diào)用構(gòu)造器,不會(huì)調(diào)用靜態(tài)方法,類的加載和初始化只有一次
System.out.println(A.common); //調(diào)用類里的常量時(shí),并不會(huì)初始化該類,常量被放在常量池里
Class.forName("cn.sxt.in.A"); //反射調(diào)用類,也會(huì)加載靜態(tài)方法
A[] a=new A[10]; //創(chuàng)建類的數(shù)組,不會(huì)初始化類
System.out.println(B.common); //子類調(diào)用父類的常量,不會(huì)初始化本身和父類
System.out.println(B.width); //子類調(diào)用父類非常量,則只會(huì)初始化父類
}
}
class A extends A_father{
public static int width=100;
public static final int common=10;
//創(chuàng)建對象時(shí),會(huì)首先運(yùn)行賦值動(dòng)作和static塊內(nèi)的內(nèi)容
static {
System.out.println("靜態(tài)初始化類");
width=300;
}
public A(){
System.out.println("AAA");
}
}
class A_father{
static {
System.out.println("靜態(tài)初始化A的父類");
}
}
class B extends A{
static {
System.out.println("靜態(tài)初始化B");
}
}
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
網(wǎng)頁標(biāo)題:javaJVM-類加載靜態(tài)初始化塊調(diào)用順序-創(chuàng)新互聯(lián)
URL分享:http://fisionsoft.com.cn/article/ddssce.html