在java應(yīng)用程序中,main()方法是程序的入口,最先執(zhí)行!
創(chuàng)新互聯(lián)公司是專業(yè)的儀征網(wǎng)站建設(shè)公司,儀征接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行儀征網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
但是在Applet程序中是沒main()方法的,init()方法會(huì)自動(dòng)執(zhí)行!誰(shuí)先誰(shuí)后,自己清楚了吧!
java中同一層次的語(yǔ)句是按先后順序執(zhí)行還是同時(shí)執(zhí)行,這個(gè)要分情況討論。
1、執(zhí)行順序如下:
初始化-條件表達(dá)式-語(yǔ)句-增量-條件表示式-語(yǔ)句-增量-...-條件表達(dá)式。
在執(zhí)行的時(shí)候,初始化語(yǔ)句只執(zhí)行一次,后續(xù)按照條件表達(dá)式進(jìn)行判斷,如果符合條件,則執(zhí)行[語(yǔ)句],然后執(zhí)行增量。再根據(jù)條件表示式進(jìn)行判斷,重復(fù)上面過程。
這兩個(gè)方法在被調(diào)用的時(shí)候運(yùn)行,不主動(dòng)調(diào)用的話他們誰(shuí)也不運(yùn)行
舉例說明:
//定義一個(gè)類A
class A{
//先寫第一個(gè)非main方法
void method_A(){System.out.println("A");}
//再寫第二個(gè)非main方法
void method_B(){System.out.println("B");}
}
public class Test(){//程序
public static void main(){
A a = new A();
a.method_B();//調(diào)用method_B(),method_B()就執(zhí)行了打印出B,和寫的順序沒有關(guān)系
a.method_A();//同理,后調(diào)用a.method_A(),就后打印A,如果不調(diào)用a.method_A(),那么A就永遠(yuǎn)不會(huì)被打印
}
}
先說執(zhí)行順序:我們?cè)趎ew一個(gè)對(duì)象時(shí),如果類還沒加載,就需要先將類加載到內(nèi)存,此時(shí)就會(huì)執(zhí)行靜態(tài)代碼塊,在創(chuàng)建對(duì)象時(shí),是先執(zhí)行代碼塊,然后執(zhí)行構(gòu)造器。所以靜態(tài)代碼塊、代碼塊、構(gòu)造器的執(zhí)行順序是:靜態(tài)代碼塊→代碼塊→構(gòu)造器。
再說作用:靜態(tài)代碼塊是用于初始化類的(在加載類時(shí)執(zhí)行,只執(zhí)行一次),代碼塊是用于初始化對(duì)象的(在創(chuàng)建對(duì)象時(shí)執(zhí)行,每次創(chuàng)建對(duì)象時(shí)都執(zhí)行),構(gòu)造器是用于創(chuàng)建對(duì)象的。
這兩句話只是設(shè)置屬性啊。
file.setSize(200,300);
file.setVisible(true);
不會(huì)最后執(zhí)行的。你打個(gè)斷點(diǎn)在
file.Calendar();//顯示當(dāng)前日期
,然后看file屬性,應(yīng)該是會(huì)被改變的