首先執(zhí)行父類靜態(tài)的內容,父類靜態(tài)的內容執(zhí)行完畢后,接著去執(zhí)行子類的靜態(tài)的內容,當子類的靜態(tài)內容執(zhí)行完畢之后,再去看父類有沒有非靜態(tài)代碼塊,如果有就執(zhí)行父類的非靜態(tài)代碼塊,父類的非靜態(tài)代碼塊執(zhí)行完畢,接著執(zhí)行父類的構造方法;父類的構造方法執(zhí)行完畢之后,它接著去看子類有沒有非靜態(tài)代碼塊,如果有就執(zhí)行子類的非靜態(tài)代碼塊。子類的非靜態(tài)代碼塊執(zhí)行完畢再去執(zhí)行子類的構造方法。
專業(yè)領域包括成都網站建設、成都網站制作、商城建設、微信營銷、系統(tǒng)平臺開發(fā), 與其他網站設計及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結合了幫做網絡品牌建設經驗和互聯(lián)網整合營銷的理念,并將策略和執(zhí)行緊密結合,為客戶提供全網互聯(lián)網整合方案。
靜態(tài)代碼塊:只要一用到某個類,那么這個類的靜態(tài)代碼塊就先執(zhí)行,比如:
public?class?Dog(){
int?i?=?0;
static?{
i?=?1;?
}??
public?Dog(){
i?=?2;?
}????
}
當你new?一個Dog()對象時,首先i= 1?會執(zhí)行,然后才執(zhí)行 public?Dog(){}這個方法。
pulic Dog()?是與類同名、沒有返回值的方法,也就是構造方法。
構造方法的作用是用來初始化一個對象的。比如你可以在里面寫 i = 2;
那么當你?Dog d = new Dog()執(zhí)行這段代碼的時候,是這樣的:
首先 i = 0 ;
然后執(zhí)行static?靜態(tài)代碼塊,此時i= 1;
最后執(zhí)行public Dog();? i = 2;
public?class?MathTest?{
/**
?*?求最大公約數
?*?@param?m
?*?@param?n
?*?@return
?*/
public?static?int?Gcd?(int?m,int?n){
while?(m?%?n?!=?0)?{???
int?temp?=?m?%?n;???
m?=?n;???
n?=?temp;???
}???
return?n;
}
/**
?*?求?a^b?
?*?@param?m
?*?@param?n
?*?@return
?*/
public?static?double?getPow(double?a,double?b){
double?num?=?a;
for?(int?i?=?0;?i???b?;?i++)?{
a?*=?num;
}
return?a;
}
}
測試類:
public?class?Test?{
public?static?void?main(String[]?args)?{
int?num1?=?MathTest.Gcd(12,?8);
System.out.println(num1);
double?num2?=?MathTest.getPow(2,?3);
System.out.println(num2);
}
}
結果:
4
16.0