第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java中的成員變量為什么不能先聲明,再賦值?

Java中的成員變量為什么不能先聲明,再賦值?

未卜先知 2016-09-30 14:13:15
public?class?demo{ ????int?x?; ????x?=?1;??//這樣不行 }public?class?demo{ ????int?x?=?10;??//這樣就可以 }但是在方法中,先聲明,再賦值就沒問題:public?class?demo{ ????public?static?void?main(String[]?args)?{ ????????int?x; ????????x?=?1; ????} }這是為什么?我用一個可能對java來說更直觀的表述public?class?demo{ ????int[]?array; ????array?=?new?int[10];??//同樣在類中這么寫是不可以的 ????//?int[]?array?=?new?int[10]?這樣就可以 }
查看完整描述

9 回答

已采納
?
_仰望星空

TA貢獻(xiàn)2條經(jīng)驗 獲得超0個贊

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

查看完整回答
反對 回復(fù) 2016-09-30
?
丸子君3899929

TA貢獻(xiàn)2條經(jīng)驗 獲得超4個贊

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

查看完整回答
2 反對 回復(fù) 2016-10-01
?
杜發(fā)明

TA貢獻(xiàn)202條經(jīng)驗 獲得超301個贊

說一個更加直觀的,記住定義全局變量不論是0,""還是null,要先賦值。

查看完整回答
1 反對 回復(fù) 2016-10-01
?
qq_小白楊_4

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)建對象后直接使用,單局部變量必須要聲明并賦值后,才能使用

查看完整回答
反對 回復(fù) 2017-09-22
?
慕粉13546656149

TA貢獻(xiàn)5條經(jīng)驗 獲得超3個贊

可以先聲明,再在構(gòu)造函數(shù)里面賦值。
查看完整回答
反對 回復(fù) 2016-09-30
?
LiUyInGkAi3391597

TA貢獻(xiàn)7條經(jīng)驗 獲得超1個贊

其實你沒弄清楚成員變量,也就是實例變量和局部變量的區(qū)別。這個原因就是這兩者的區(qū)別。實例變量是類的屬性,而局部變量是方法的屬性。作用域不同。

查看完整回答
反對 回復(fù) 2016-09-30
?
一條小咸魚

TA貢獻(xiàn)457條經(jīng)驗 獲得超255個贊

類里面只能放成員變量和方法吧,賦值是個操作了。

查看完整回答
反對 回復(fù) 2016-09-30
?
Caballarii

TA貢獻(xiàn)1123條經(jīng)驗 獲得超629個贊

方法外部不能執(zhí)行表達(dá)式,所以單獨(dú)的x=1是非法的

查看完整回答
反對 回復(fù) 2016-09-30
?
安浪創(chuàng)想

TA貢獻(xiàn)81條經(jīng)驗 獲得超23個贊

可以的嘛,再賦值的時候要指名在本類。

public?class?demo1{
????int?a;
????this.a?=10;
}

當(dāng)然,你使用的時候,還是去學(xué)習(xí)一下get和set這個東東吧,哈哈

查看完整回答
反對 回復(fù) 2016-10-01
  • 乙一
    乙一
    ????????啥????
  • 9 回答
  • 2 關(guān)注
  • 8477 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號