包含Java代碼執(zhí)行順序6的詞條

JAVA程序的執(zhí)行順序

在java應(yīng)用程序中,main()方法是程序的入口,最先執(zhí)行!

創(chuàng)新互聯(lián)公司成立于2013年,先為遼寧等服務(wù)建站,遼寧等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為遼寧企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

但是在Applet程序中是沒(méi)main()方法的,init()方法會(huì)自動(dòng)執(zhí)行!誰(shuí)先誰(shuí)后,自己清楚了吧!

java程序執(zhí)行順序的問(wèn)題

package org;

public class Demo {

public static void main(String[] args) throws Throwable {

/*

* 步驟 1

*

* 首先聲明并初實(shí)例了一個(gè)A類的對(duì)象:a

* 程序則進(jìn)入了類A當(dāng)中

*/

A a = new A();

/*

* 步驟 5

*

* 通過(guò)以上步驟的判斷,程序的執(zhí)行順序就顯而易見(jiàn)了~~~

*

* 下面是執(zhí)行順序:

*

* 類AA 靜態(tài)屬性 b2 ---------結(jié)果:2

* 類AA 靜態(tài)塊 static{} ----結(jié)果:4

* 類A 靜態(tài)屬性 b2 ----------結(jié)果:6

* 類AA 非靜態(tài)屬性 b1 -------結(jié)果:3

* 類AA 非靜態(tài)方法 AA() -----結(jié)果:1

* 類A 非靜態(tài)屬性 b1 --------結(jié)果:5

* 類A 非靜態(tài)方法 A() -------結(jié)果:7

*

*/

}

}

class AA {

/*

* 步驟 3

*

* 類AA中存在著:

* 1個(gè)靜態(tài)屬性 b2

* 1個(gè)靜態(tài)塊 static{}

* 一個(gè)非靜態(tài)屬性 b1

* 一個(gè)構(gòu)造方法 AA()

*/

public AA() {

System.out.println("1");

}

public static B b2 = new B("2");

private B b1 = new B("3");

static {

B b3 = new B("4");

}

}

class A extends AA {

/*

* 步驟 2

*

* 因?yàn)轭怉繼承自類AA

* 所以當(dāng)類A被實(shí)例化的時(shí)候會(huì)先執(zhí)行類A的父類(AA)

*

* 程序會(huì)對(duì)比類A和其父類AA

*

* 此時(shí)則是程序執(zhí)行編譯順序的關(guān)鍵所在

*

* 屬性的優(yōu)先級(jí)要大于方法的優(yōu)先級(jí)

* 靜態(tài)屬性的優(yōu)先級(jí)要大于非靜態(tài)屬性

* 靜態(tài)方法(包括靜態(tài)塊)的優(yōu)先級(jí)要大于非靜態(tài)方法(包括構(gòu)造方法)

*

* 總結(jié)起來(lái)就是:靜態(tài)屬性非靜態(tài)屬性靜態(tài)方法非靜態(tài)方法

*

* 而在子類與父類中的執(zhí)行編譯順序則為:(由上至下)

*

* (父類)靜態(tài)屬性

* (父類)靜態(tài)方法

* (子類)靜態(tài)屬性

* (子類)靜態(tài)方法

* (父類)非靜態(tài)屬性

* (父類)非靜態(tài)方法

* (子類)非靜態(tài)屬性

* (子類)非靜態(tài)方法

*

* 所以程序進(jìn)入到了類AA中并與類A進(jìn)行比較!!

*/

/*

* 步驟 4

*

* 類A中存在著:

*

* 一個(gè)靜態(tài)屬性 b2

* 一個(gè)非靜態(tài)屬性 b1

* 一個(gè)構(gòu)造函數(shù) A()

*/

private B b1 = new B("5");

private static B b2 = new B("6");

public A() {

System.out.println("7");

}

}

class B {

public B(String str) {

System.out.println(str);

}

}

不知道我的解釋你能不能理解~~ 希望對(duì)你會(huì)有幫助!!

如果哪里沒(méi)看懂就補(bǔ)充問(wèn)題吧~~我經(jīng)常來(lái)的!!祝你好運(yùn)!!

java 代碼執(zhí)行順序

這兩句話只是設(shè)置屬性啊。

file.setSize(200,300);

file.setVisible(true);

不會(huì)最后執(zhí)行的。你打個(gè)斷點(diǎn)在

file.Calendar();//顯示當(dāng)前日期

,然后看file屬性,應(yīng)該是會(huì)被改變的

java方法執(zhí)行順序

先后順序如下!

1.靜態(tài)塊

2.塊

3.構(gòu)造器

4.父類構(gòu)造器

運(yùn)行順序?yàn)椋?/p>

1. 靜態(tài)塊

2. 父類構(gòu)造器

3. 本類中的塊

4. 本類的構(gòu)造器

名稱欄目:包含Java代碼執(zhí)行順序6的詞條
URL分享:http://bm7419.com/article18/ddcdggp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航微信公眾號(hào)、、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司