JAVA中關於set()和get()方法的理解及使用


對於JAVA初學者來說,set和get這兩個方法似乎已經很熟悉了,這兩個方法是JAVA變成中的基本用法,也是出現頻率相當高的兩個方法。

為了讓JAVA初學者能更好的理解這兩個方法的使用和意義,今天筆者來談一下自己對這兩個方法的理解,如果你對於這兩個方法還有困惑甚至完全不知道這兩個方法是做什么的,那你看下面這篇文章很有用。如果你對於set和get這兩個方法已經很熟悉了,那么你完全不用看這篇文章。這篇文章是寫給初學者的。

我們先來看看set和get這兩個詞的表面意思,set是設置的意思,而get是獲取的意思,顧名思義,這兩個方法是對數據進行設置和獲取用的。而且,在類中使用set和get方法時,都是在set和get后面跟上一些特定的詞來形成特定意思的方法名,比如setage()和getage(),表示設置年齡和獲取年齡。
然后我們來了解一下JAVA面向對象編程中的封閉性和安全性。封閉性即對類中的域變量進行封閉操作,即用private來修飾他們,如此一來其他類則不能對該變量訪問。這樣我們就將這些變量封閉在了類內部,這樣就提高了數據的安全性,當我們想要操作這些域變量怎么辦呢?我們可以通過兩種方法,第一中即通過public方式的構造器(或稱構造函數),對象一實例化就對該變量賦值。第二種就是通過上面提到的set和get方法,這里我舉一個特定的例子,我定義一個Person類,該類中有name、age這兩個私有域變量,然后我定義setname()、getname()、setage()、getage()這四個方法,通過這四個方法來實現對name和age的操作。這樣一來,我不用直接對Person類中的域變量操作,而是通過set和get方法間接地操作這些變量,這樣就能提高域變量的安全性,同時又保證了域變量的封裝型。

最后說說set和get方法的使用場景,一般來說set和get方法都是對私有域變量進行操作的,所以大多數都是使用在包含特定屬性的類實體中。
現在你明白set和get方法了吧,其實這兩個方法只是類中的setxxx和getxxx方法的總稱。
在今后的開發過程中,只要你細心體會,結合JAVA中的一些宏觀的知識。set和get方法還是很容易理解的,或許你還會領會一些其他的JAVA中的重要理論知識。

 

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();    取這個類的對象的某個值 就get

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM