我們先來(lái)看看set和get這兩個(gè)詞的表面意思,set是設(shè)置的意思萌京,而get是獲取的意思雁歌,顧名思義,這兩個(gè)方法是對(duì)數(shù)據(jù)進(jìn)行設(shè)置和獲取用的枫夺。而且将宪,在類中使用set和get方法時(shí),都是在set和get后面跟上一些特定的詞來(lái)形成特定意思的方法名橡庞,比如setage()和getage()较坛,表示設(shè)置年齡和獲取年齡。
然后我們來(lái)了解一下JAVA面向?qū)ο缶幊讨械姆忾]性和安全性扒最。封閉性即對(duì)類中的域變量進(jìn)行封閉操作丑勤,即用private來(lái)修飾他們,如此一來(lái)其他類則不能對(duì)該變量訪問(wèn)吧趣。這樣我們就將這些變量封閉在了類內(nèi)部法竞,這樣就提高了數(shù)據(jù)的安全性,當(dāng)我們想要操作這些域變量怎么辦呢强挫?我們可以通過(guò)兩種方法岔霸,第一中即通過(guò)public方式的構(gòu)造器(或稱構(gòu)造函數(shù)),對(duì)象一實(shí)例化就對(duì)該變量賦值俯渤。第二種就是通過(guò)上面提到的set和get方法呆细,這里我舉一個(gè)特定的例子,我定義一個(gè)Person類八匠,該類中有name絮爷、age這兩個(gè)私有域變量,然后我定義setname()梨树、getname()坑夯、setage()、getage()這四個(gè)方法抡四,通過(guò)這四個(gè)方法來(lái)實(shí)現(xiàn)對(duì)name和age的操作柜蜈。這樣一來(lái)仗谆,我不用直接對(duì)Person類中的域變量操作,而是通過(guò)set和get方法間接地操作這些變量淑履,這樣就能提高域變量的安全性胸私,同時(shí)又保證了域變量的封裝型。
最后說(shuō)說(shuō)set和get方法的使用場(chǎng)景鳖谈,一般來(lái)說(shuō)set和get方法都是對(duì)私有域變量進(jìn)行操作的岁疼,所以大多數(shù)都是使用在包含特定屬性的類實(shí)體中。
現(xiàn)在你明白set和get方法了吧缆娃,其實(shí)這兩個(gè)方法只是類中的setxxx和getxxx方法的總稱捷绒。
在今后的開(kāi)發(fā)過(guò)程中,只要你細(xì)心體會(huì)贯要,結(jié)合JAVA中的一些宏觀的知識(shí)暖侨。set和get方法還是很容易理解的,或許你還會(huì)領(lǐng)會(huì)一些其他的JAVA中的重要理論知識(shí)崇渗。
package cn.itcast.domain;
import java.util.Date;
public class User {
private String username;
private String password;
private String gender;
private Date birthday;
private String email;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
User u = new User();
u.setXXX();
u.getXXX();
你想給他賦值就用u.setXXX();??? 取這個(gè)類的對(duì)象的某個(gè)值 就get