亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么不能用static修飾這個初始化塊?

public class HelloWorld {

String name1;

String name2;

static String name3;

public HelloWorld(){

{

name1="周杰倫";

System.out.println("偶像1"+name1);

}

{

name2="張學友";

System.out.println("偶像2"+name2);

}

? ? ? static {

name3="王力宏";

System.out.println("偶像3"+name3);

}

}

public static void main(String[] args){

HelloWorld hello=new HelloWorld();

System.out.println("name1:"+hello.name1);

System.out.println("name2:"+hello.name2);

System.out.println("name3:"+name3);

HelloWorld hello2=new HelloWorld();

}

}

謝謝了~http://img1.sycdn.imooc.com//56d00ef0000177e305870430.jpg

正在回答

6 回答

我覺得是你把初始化塊與構造方法搞混了 初始化塊不用寫在構造方法中 單獨寫就好了~

public class HelloWorld {

String name1;

String name2;

static String name3;

{

name1="周杰倫";

System.out.println("偶像1"+name1);

}

{

name2="張學友";

System.out.println("偶像2"+name2);

}

static {

name3="王力宏";

System.out.println("偶像3"+name3);

}


public static void main(String[] args){

HelloWorld hello=new HelloWorld();

System.out.println("name1:"+hello.name1);

System.out.println("name2:"+hello.name2);

System.out.println("name3:"+name3);

HelloWorld hello2=new HelloWorld();

}

}


0 回復 有任何疑惑可以回復我~
#1

湯鉞 提問者

非常感謝!
2016-02-27 回復 有任何疑惑可以回復我~

其實我說錯了,應該是static修飾的成員變量,在用構造方法初始化該變量時,構造方法里不能使用static關鍵字,但在類內非方法區域,可以使用static關鍵字修飾的初始化塊初始化該靜態變量,也可以不使用static關鍵字的初始化塊初始化該靜態成員變量。

0 回復 有任何疑惑可以回復我~

因為java沒有用static修飾初始化塊的。

0 回復 有任何疑惑可以回復我~

public class HelloWorld {

String name1;

String name2;

static String name3;

public HelloWorld(){

{????????//此處應該省略一個括號。。。。。。。

name1="周杰倫";

System.out.println("偶像1"+name1);

}

{

name2="張學友";

System.out.println("偶像2"+name2);

}

? ? ? static {

name3="王力宏";

System.out.println("偶像3"+name3);

}

}????????????????//此處括號應該省略。。。。

public static void main(String[] args){

HelloWorld hello=new HelloWorld();

System.out.println("name1:"+hello.name1);

System.out.println("name2:"+hello.name2);

System.out.println("name3:"+name3);

HelloWorld hello2=new HelloWorld();

}

}

0 回復 有任何疑惑可以回復我~

靜態初始化塊不能寫在構造方法中

0 回復 有任何疑惑可以回復我~

你的大括號多了一對

public class HelloWorld {

String name1;

String name2;

static String name3;

public HelloWorld()

{

name1="周杰倫";

System.out.println("偶像1"+name1);

}

{

name2="張學友";

System.out.println("偶像2"+name2);

}

static {

name3="王力宏";

System.out.println("偶像3"+name3);

}


public static void main(String[] args){

HelloWorld hello=new HelloWorld();

System.out.println("name1:"+hello.name1);

System.out.println("name2:"+hello.name2);

System.out.println("name3:"+name3);

HelloWorld hello2=new HelloWorld();

}

}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么不能用static修飾這個初始化塊?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號