9 回答

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

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超4個(gè)贊
因?yàn)樵陬愔兄荒苡卸x,不能單獨(dú)出現(xiàn)語(yǔ)句,像先聲明在賦值,第二個(gè)就是賦值語(yǔ)句,這是規(guī)定!沒有為什么一說(shuō),如果你一定要先聲明在賦值你可以{x=10};括起來(lái)

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

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

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