最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
java非靜態(tài)代碼塊執(zhí)行 java中靜態(tài)代碼塊

java 中靜態(tài)代碼和非靜態(tài)代碼塊的區(qū)別!

相同點(diǎn):都是在JVM加載類時(shí)且在構(gòu)造方法執(zhí)行之前執(zhí)行,在類中都可以定義多個(gè),

成都創(chuàng)新互聯(lián)公司專注于和田網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供和田營銷型網(wǎng)站建設(shè),和田網(wǎng)站制作、和田網(wǎng)頁設(shè)計(jì)、和田網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造和田網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供和田網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

一般在代碼塊中對一些static變量進(jìn)行賦值。

不同點(diǎn):靜態(tài)代碼塊在非靜態(tài)代碼塊之前執(zhí)行(靜態(tài)代碼塊—非靜態(tài)代碼塊—構(gòu)造方法)。

靜態(tài)代碼塊只在第一次new執(zhí)行一次,之后不再執(zhí)行,而非靜態(tài)代碼塊在每new

一次就執(zhí)行一次。非靜態(tài)代碼塊可在普通方法中定義(不過作用不大);而靜態(tài)代碼塊不行。

例:

//普通類

public class PuTong {

public PuTong(){

System.out.print("默認(rèn)構(gòu)造方法!--");

}

//非靜態(tài)代碼塊

{

System.out.print("非靜態(tài)代碼塊!--");

}

//靜態(tài)代碼塊

static{

System.out.print("靜態(tài)代碼塊!--");

}

public static void test(){

{

System.out.println("普通方法中的代碼塊!");

}

}

}

//測試類

public class TestClass {

/**

* 區(qū)別兩次new靜態(tài)與非靜態(tài)代碼塊執(zhí)行情況

*/

public static void main(String[] args) {

PuTong c1 = new PuTong();

c1.test();

PuTong c2 = new PuTong();

c2.test();

}

}

/*

運(yùn)行輸出結(jié)果是:

靜態(tài)代碼塊!--非靜態(tài)代碼塊!--默認(rèn)構(gòu)造方法!--普通方法中的代碼塊!

非靜態(tài)代碼塊!--默認(rèn)構(gòu)造方法!--普通方法中的代碼塊!

*/

java代碼的非順序執(zhí)行是什么意思

靜態(tài)代碼塊執(zhí)行錯(cuò)誤。

1、java代碼的非順序執(zhí)行意思就是靜態(tài)代碼塊執(zhí)行錯(cuò)誤。

2、在執(zhí)行java代碼時(shí),在執(zhí)行靜態(tài)代碼塊的時(shí)候操作失誤就會產(chǎn)生這個(gè)問題。

JAVA 靜態(tài)代碼塊和非靜態(tài)代碼塊 作用?

靜態(tài)代碼塊是在類加載進(jìn)jvm時(shí)類實(shí)例化之前運(yùn)行的,比如業(yè)務(wù)場景有這種類初始化時(shí)需要加載許多資源,在運(yùn)行實(shí)例化類的時(shí)候會影響程序響應(yīng)時(shí)間,所以就在項(xiàng)目啟動的時(shí)候加載類的時(shí)候就初始化了.非靜態(tài)代碼塊是在類實(shí)例化的時(shí)候才會運(yùn)行,所以靜態(tài)代碼塊的執(zhí)行一定在非靜態(tài)代碼塊執(zhí)行之前執(zhí)行.至于你上面的第一個(gè)問題要看具體業(yè)務(wù)場景和需求,賦值都可以實(shí)現(xiàn).第二個(gè)問題,可能是寫那句代碼的人要看程序加載后有沒有執(zhí)行那部分代碼而加上的,知道了靜態(tài)代碼塊和非靜態(tài)代碼塊的本質(zhì)區(qū)別,為什么那么做和目的你就應(yīng)該知道了.

java 繼承父類 是會先執(zhí)行父類嗎

java中子類繼承父類程序執(zhí)行順序問題

Java中,new一個(gè)類的對象,類里面的靜態(tài)代碼塊、非靜態(tài)代碼、無參構(gòu)造方法、有參構(gòu)造方法、類的一般方法等部分,它們的執(zhí)行順序相對來說比較簡單,用程序也很容易驗(yàn)證。比如新建一個(gè)測試父類。

public class FatherTest {

private String name;

FatherTest(){

System.out.println("--父類的無參構(gòu)造函數(shù)--");

}

FatherTest(String name){

this.name=name;

System.out.println("--父類的有參構(gòu)造函數(shù)--"+this.name);

}

static{

System.out.println("--父類的靜態(tài)代碼塊--");

}

{

System.out.println("--父類的非靜態(tài)代碼塊--");

}

public void speak(){

System.out.println("--父類的方法--");

}

}

加入一個(gè)main程序后

public static void main(String[] args) {

System.out.println("--父類主程序--");

FatherTest father=new FatherTest("父親的名字");

father.speak();

}

執(zhí)行結(jié)果為:

--父類的靜態(tài)代碼塊--

--父類主程序--

--父類的非靜態(tài)代碼塊--

--父類的有參構(gòu)造函數(shù)--父親的名字

--父類的方法—

可以很明顯的看出來執(zhí)行順序:靜態(tài)代碼塊—主程序—非靜態(tài)代碼塊—構(gòu)造函數(shù)—一般方法。

如果加入子類的繼承以后,情況就會變得復(fù)雜些。比如我們再新建一個(gè)測試子類。

public class SonTest extends FatherTest {

private String name;

static{

System.out.println("--子類的靜態(tài)代碼塊--");

}

{

System.out.println("--子類的非靜態(tài)代碼塊--");

}

SonTest(){

System.out.println("--子類的無參構(gòu)造函數(shù)--");

}

SonTest(String name){

this.name=name;

System.out.println("--子類的有參構(gòu)造函數(shù)--"+this.name);

}

@Override

public void speak(){

System.out.println("--子類Override了父類的方法--");

}

}

然后再加入一個(gè)main函數(shù)

public static void main(String[] args) {

System.out.println("--子類主程序--");

FatherTest father=new FatherTest("父親的名字");

father.speak();

SonTest son=new SonTest("兒子的名字");

son.speak();

}

執(zhí)行結(jié)果為:

--父類的靜態(tài)代碼塊--

--子類的靜態(tài)代碼塊--

--子類主程序--

--父類的非靜態(tài)代碼塊--

--父類的有參構(gòu)造函數(shù)--父親的名字

--父類的方法--

--父類的非靜態(tài)代碼塊--

--父類的無參構(gòu)造函數(shù)--

--子類的非靜態(tài)代碼塊--

--子類的有參構(gòu)造函數(shù)--兒子的名字

--子類Override了父類的方法--

加入了子類以后,執(zhí)行順序有了新的變化,我們可以總結(jié)一下。首先第一部分執(zhí)行的是父類的靜態(tài)代碼塊—子類的靜態(tài)代碼塊—主程序。這一部分都是執(zhí)行一次,與建立多少對象沒有關(guān)系。第二部分new了一個(gè)父類對象,并調(diào)用了方法。執(zhí)行了它的非靜態(tài)代碼塊—構(gòu)造函數(shù)—一般方法。第三部分new了一個(gè)子類的對象,并調(diào)用了方法。執(zhí)行順序?yàn)楦割惖姆庆o態(tài)代碼塊—父類的無參構(gòu)造函數(shù),然后是子類的非靜態(tài)代碼塊—子類構(gòu)造函數(shù)—子類的方法。


分享文章:java非靜態(tài)代碼塊執(zhí)行 java中靜態(tài)代碼塊
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/docdosh.html