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

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

靜態方法中聲明一個(非)靜態變量的問題

我發現在靜態方法中聲明一個非靜態變量,并賦值后的此靜態方法,也能在另一個靜態方法中通過類直接調用。是因為我聲明的是局部變量,所以對另一個調用此變量所在方法的方法并沒任何影響嗎?還有,我貌似并不能在靜態方法中聲明一個靜態變量是為什么?

正在回答

2 回答

局部變量的作用范圍是從聲明開始到所在語句塊(“{”“}”構成一個語句塊)的結束

public?static?void?foo()?{
????if?(...)?{
????????...
????????int?a;?//?局部變量a作用范圍開始
????????...
????}?//?局部變量a作用范圍結束
????
????//此處a已經不存在
}

public?static?void?foo1()?{
????foo();
????//此處a也不存在
}

靜態變量只能在類中聲明,可以在方法中調用和賦值

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

小小小小小柯丶 提問者

好的,那么請問一下static關鍵字的具體作用應該怎么理解?我為何不能再在一個靜態方法中定義靜態變量了呢?
2018-02-05 回復 有任何疑惑可以回復我~
#2

Hsinwong 回復 小小小小小柯丶 提問者

static修飾的變量可以通過 類名.變量名 的方式直接訪問,該類的所有對象可以共享這些變量。這個共享性是成員變量辦不到的。 方法里的定義的變量都是局部變量,只能在當前方法中使用,加static沒有任何意義。 還有,給你個建議,想入門Java應該著重于弄清楚它能做什么,你的需求怎么用它來實現,而不是過多的思考這門語言為什么這樣設計,當你對Java有了全方位一定深度的了解,你自然會清楚它為什么這樣設計,以及它的優缺點。
2018-02-05 回復 有任何疑惑可以回復我~
#3

小小小小小柯丶 提問者 回復 Hsinwong

好的,謝謝
2018-02-05 回復 有任何疑惑可以回復我~

因為方法是靜態的


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

舉報

0/150
提交
取消

靜態方法中聲明一個(非)靜態變量的問題

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

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

幫助反饋 APP下載

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

公眾號

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