java const是什么, 讓我們一起來(lái)了解一下:
const是java中的預(yù)留關(guān)鍵字(java中預(yù)留關(guān)鍵字還有g(shù)oto),const修飾的數(shù)據(jù)類(lèi)型是指常類(lèi)型,常類(lèi)型的變量或?qū)ο蟮闹凳遣荒鼙桓碌摹R部梢远xconst常量,具有不可變性。
const的幾種常見(jiàn)用法?
1、用于定義常量變量,這樣這個(gè)變量在后面就不可以再被修改。
const?int?Val?=?10; ?//Val?=?20;?//錯(cuò)誤,不可被修改
2、保護(hù)傳遞參數(shù)時(shí)參數(shù)不被修改,如果使用引用傳遞參數(shù)或按地址傳遞參數(shù)給一個(gè)函數(shù),在這個(gè)函數(shù)里這個(gè)參數(shù)的值若被修改,則函數(shù)外部傳進(jìn)來(lái)的變量的值也發(fā)生改變,若想保護(hù)傳進(jìn)來(lái)的變量不被修改,可以使用const保護(hù)。
?void??fun1(const?int?&val) ??{ ?????//val?=?10;?//出錯(cuò) } void?fun2(int?&val) { ???val?=?10;?//沒(méi)有出錯(cuò) } void?main() { ???int?a?=?2; ???int?b?=?2; ???fun1(a);?//因?yàn)槌鲥e(cuò),這個(gè)函數(shù)結(jié)束時(shí)a的值還是2 ???fun2(b);//因?yàn)闆](méi)有出錯(cuò),函數(shù)結(jié)束時(shí)b的值為10 }
3、類(lèi)中使用const修飾函數(shù)防止修改非static類(lèi)成員變量。
class { ?public: ??void?fun()?const?//加const修飾 ???{ ?????a?=?10;?//出錯(cuò),不可修改非static變量 ?????b?=?10;?//對(duì),可以修改 } ?private: ??int??a?; ??static?int?b; }
?拓展一下:
const是java中的預(yù)留關(guān)鍵字(java中預(yù)留關(guān)鍵字還有g(shù)oto),現(xiàn)在沒(méi)有作為關(guān)鍵字,以后的版本中可能擴(kuò)展用,但現(xiàn)在常用于C,C++中。C中的const類(lèi)似于final。
以上就是小編今天的分享了,希望可以幫助到大家。