最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Java中變量和屬性的關(guān)系

標(biāo)簽:
Java

有人可能遇到这样的错误,明明在类中定义了某个成员变量,但是系统在运行的时候提示错误:属性XX没有定义。这是什么原因呢?

大家知道成员变量有多种访问控制符,通常都应该把成员变量定义成私有的,然后为该成员变量提供set方法和get方法,外界通过set方法和get方法对成员变量进行操作。这样对外界来说,只有能够访问到的成员变量才算是属性,例如下面的代码:

private String userName;

public void setUserName(String userName){

this.userName = userName;

}

public String getUserName(){

return userName;

}

这时候我们说当前类有userName属性,注意要区分大小写。

另外还有一点非常重要,属性的名字不是由成员变量决定的。通常set方法和get方法的名字是set或者get加上成员变量的名字,成员变量的首字母要变成大写。而属性的名字是什么了,其实属性的名字就是去掉set或者get,然后把首字母变成小写。从这两个命名规则可以看出,通常属性名与成员变量的名字是一致的。但是,如果在写set方法和get方法的时候,没有按照默认的规则写,则属性名字和成员变量名字就一样了。看下面的例子:

private String userName;

public void setUsername(String userName){

this.userName = userName;

}

public String getUsername(){

return userName;

}

在上面的代码中,只修改了方法的名字(大写的N变成小写的n),这时候属性的名字已经由userName变成username了。如果要按照属性名字访问而不是直接访问get方法(例如,表达式语言),或者由框架自动完成属性的赋值(例如,对于WebWork,需要在Action中需要定义与表单元素相同名字的属性,对于Struts1,需要在ActionForm中定义与表单元素相同名字的属性),这时候就必须写username而不是userName,否则就抱错,就是本文开头所说的错误。

如果出现这样的错误,首先查看有没有定义set方法或者get方法,然后看看方法名字是否写的正确。

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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

舉報(bào)

0/150
提交
取消