java類的非靜態(tài)代碼塊,java中static代碼塊

那里出錯(cuò)了Java

你可以將

創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、網(wǎng)頁設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務(wù)。

{

Point?p=new?Point();

p.x=4;

System.out.println(p.x);

p.y=5;

System.out.println(p.y);

}

代碼塊,做為非靜態(tài)代碼塊,放到Rectangle類或者M(jìn)ain類或者Point類中,編譯就能通過了,但是依據(jù)題意,還是應(yīng)該放到Rectangle類或者M(jìn)ain類中為好,因?yàn)榭梢哉{(diào)用它,放到Point類中,沒有類調(diào)用它這段代碼了。完整的Java程序如下

public?class?Main?{

public?static?void?main(String[]?args)?{

Rectangle?rect=new?Rectangle();

rect.width=100;

System.out.println(rect.width);

rect.height=200;

System.out.println(rect.height);

Rectangle?rect2=new?Rectangle();

rect2.width=10;

System.out.println(rect2.width);

rect2.height=20;

System.out.println(rect2.height);

}

}

class?Rectangle

{

int?width;

int?height;

{

Point?p=new?Point();

p.x=4;

System.out.println(p.x);

p.y=5;

System.out.println(p.y);

}

}

class?Point

{

int?x;

int?y;

}

運(yùn)行結(jié)果

4

5

100

200

4

5

10

20

因?yàn)槭欠庆o態(tài)代碼塊在Rectangle類中,所以每建一個(gè)Rectangle對象,都會執(zhí)行一次非靜態(tài)代碼塊,所以Point類的打印被執(zhí)行了兩次。

在java中,什么叫靜態(tài),什么叫非靜態(tài)

由static

關(guān)鍵修飾的內(nèi)容

為靜態(tài)

反之

,為非靜態(tài)

靜態(tài)變量

屬于

,為所有對象共有

分靜態(tài)變量

屬于

對象

每個(gè)對象都可以有且屬性值可以各異

靜態(tài)變量優(yōu)于非靜態(tài)變量加載,故

靜態(tài)代碼塊中不能引用非靜態(tài)成員,會報(bào)錯(cuò)

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

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

一般在代碼塊中對一些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的靜態(tài)塊和初始化塊分別何時(shí)執(zhí)行?有什么區(qū)別?

靜態(tài)初始化塊:當(dāng)類第一次加載時(shí)執(zhí)行。

非靜態(tài)初始化塊:非靜態(tài)初始化塊會在構(gòu)造函數(shù)執(zhí)行時(shí),且在構(gòu)造函數(shù)主體代碼執(zhí)行之前被執(zhí)行。

區(qū)別如下:

1、執(zhí)行次數(shù)不同

靜態(tài)塊只執(zhí)行一次,初始化塊可以執(zhí)行多次。

2、作用不同

靜態(tài)初始化塊僅能初始化類變量,即static修飾的數(shù)據(jù)成員。

非靜態(tài)初始化塊可以初始化類的實(shí)例變量。

擴(kuò)展資料:

使用Java靜態(tài)代碼塊注意事項(xiàng):

1、它是隨著類的加載而執(zhí)行,只執(zhí)行一次,并優(yōu)先于主函數(shù)。具體說,靜態(tài)代碼塊是由類調(diào)用的。類調(diào)用時(shí),先執(zhí)行靜態(tài)代碼塊,然后才執(zhí)行主函數(shù)的。

2、靜態(tài)代碼塊其實(shí)就是給類初始化的,而構(gòu)造代碼塊是給對象初始化的。

3、靜態(tài)代碼塊中的變量是局部變量,與普通函數(shù)中的局部變量性質(zhì)沒有區(qū)別。

4、一個(gè)類中可以有多個(gè)靜態(tài)代碼塊。

5、對于靜態(tài)變量、靜態(tài)初始化塊、變量、初始化塊、構(gòu)造器,它們的初始化順序依次是(靜態(tài)變量、靜態(tài)初始化塊)(變量、初始化塊)構(gòu)造器。

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類的非靜態(tài)代碼塊,java中static代碼塊
當(dāng)前地址:http://m.kartarina.com/article10/hddggo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計(jì)公司動態(tài)網(wǎng)站品牌網(wǎng)站建設(shè)建站公司

廣告

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

綿陽服務(wù)器托管
主站蜘蛛池模板: 在线a亚洲v天堂网2019无码| 亚洲AV无码不卡在线播放| 国产精品亚洲аv无码播放| 无码精品久久久久久人妻中字| 久久久久久精品无码人妻| 国内精品人妻无码久久久影院 | 国产成人无码A区在线观看视频| 青青草无码免费一二三区| 成在人线av无码免费高潮喷水| 无码精品A∨在线观看| 亚洲AV永久无码精品一区二区国产| 中文字幕无码成人免费视频| 国产在线无码一区二区三区视频| 18禁免费无码无遮挡不卡网站| 国产精品无码无片在线观看| 深夜a级毛片免费无码| 免费a级毛片无码a∨性按摩| 永久免费AV无码网站在线观看 | 久久AV无码精品人妻出轨| 久久精品无码专区免费东京热| 国产a v无码专区亚洲av| MM1313亚洲精品无码久久| 狠狠爱无码一区二区三区| 亚洲av极品无码专区在线观看| 无码人妻一区二区三区在线视频| 伊人久久综合无码成人网| 午夜无码一区二区三区在线观看| 无码尹人久久相蕉无码| 国产AV天堂无码一区二区三区| 精品久久久无码人妻中文字幕豆芽| AV无码免费永久在线观看| 日韩av无码一区二区三区| 日韩精品无码一区二区三区免费| 国产V亚洲V天堂无码久久久| 18禁网站免费无遮挡无码中文| 亚洲AV成人无码天堂| 人妻少妇精品无码专区动漫| 无码人妻精品一区二区三区久久久 | 无码国产69精品久久久久网站| 国产精品无码AV一区二区三区 | 亚洲精品无码人妻无码|