9 回答

TA貢獻(xiàn)2條經(jīng)驗 獲得超0個贊
成員變量在類的范圍內(nèi),存在于堆內(nèi)存中,會有默認(rèn)的初始值,在聲明的同時已經(jīng)給變量賦值了。再次”賦值“實際是使用了語句,而類體里面只能出現(xiàn)變量和方法,不能出現(xiàn)語句。

TA貢獻(xiàn)2條經(jīng)驗 獲得超4個贊
因為在類中只能有定義,不能單獨(dú)出現(xiàn)語句,像先聲明在賦值,第二個就是賦值語句,這是規(guī)定!沒有為什么一說,如果你一定要先聲明在賦值你可以{x=10};括起來

TA貢獻(xiàn)1條經(jīng)驗 獲得超0個贊
public?class?demo{
????int?x?;
????x?=?1;?
}
上邊是2個操作,第一個,聲明一個類的成員變量,第二個,對成員變量賦值,而成員變量屬于對象,對它的賦值只能由對象來操作,在類中單獨(dú)對其賦值,當(dāng)然要報錯了。成員變量可以不用賦初值,在new對象的時候,系統(tǒng)會默認(rèn)分配一個初值,基本數(shù)據(jù)類型賦為0,引用類型的成員變量賦值為null
public?class?demo{
????int?x =?1; ? //這條語句是聲明成員變量的同時并為其指定初始值,
}
public?class?demo{
????public?static?void?main(String[]?args)?{
????????int?x;
????????x?=?1;
????}
}
這段代碼在main方法中聲明了一個局部變量,并且在main方法中為變量賦值,所以沒有錯誤(這個變量的作用域只能是main方法,出了main方法再賦值就會報錯了)
上邊需要搞清楚的是,成員變量可以不賦初值,創(chuàng)建對象后直接使用,單局部變量必須要聲明并賦值后,才能使用

TA貢獻(xiàn)7條經(jīng)驗 獲得超1個贊
其實你沒弄清楚成員變量,也就是實例變量和局部變量的區(qū)別。這個原因就是這兩者的區(qū)別。實例變量是類的屬性,而局部變量是方法的屬性。作用域不同。

TA貢獻(xiàn)81條經(jīng)驗 獲得超23個贊
可以的嘛,再賦值的時候要指名在本類。
public?class?demo1{ ????int?a; ????this.a?=10; }
當(dāng)然,你使用的時候,還是去學(xué)習(xí)一下get和set這個東東吧,哈哈
添加回答
舉報