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

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

Java第二季1-7問題

public?class?HelloWorld?{
????
????//?定義靜態變量,保存班級名稱
	?????static?String?className?=?"JAVA開發一班";

	public?static?void?main(String[]?args)?{
????????
		//?訪問靜態變量,輸出班級名稱
		System.out.println(HelloWorld.className);
	}
}

為什么className一定是靜態變量,不能是實例變量?刪掉static不成立。

正在回答

3 回答

第一,主函數是靜態函數

第二,靜態函數中不能直接調用非靜態成員,必須通過對象調用

如果你的代碼中要將className改為非靜態, 那么在主函數中就要創建HelloWorld的對象,然后通過對象來調用className

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

慕斯卡4106679 提問者

沒想起來這點。。。。
2015-10-14 回復 有任何疑惑可以回復我~

public class HelloWorld {

? ??

? ?// 定義靜態變量,保存班級名稱

? ? ? ? ?String className = "JAVA開發一班";

?

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

? ? HelloWorld hello=new HelloWorld();

? ? ? ?// 訪問靜態變量,輸出班級名稱

? ? ? ?System.out.println(hello.className);

? ?}

}


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

靜態方法不能調用非靜態變量

靜態方法不能調用非靜態方法?

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

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

Java第二季1-7問題

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

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

幫助反饋 APP下載

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

公眾號

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