Java中的get()方法和set()方法


  在Java中,為了數據的安全,換句話說就是為了隱藏你的代碼的一些實現細節,我們會用private來修飾屬性,使用private修飾的屬性就不能被其他類直接訪問了,想要訪問就需要通過set、get方法;顧名思義,set是設置數據,ge是得到數據。不知道你想不想問,那我通過get、set 方法還是能訪問到數據,為啥說數據變安全了呢?先說有了set、get方法,假如別人的類需要用到你的類里面的name,而你用了private修飾name,他就得通過getName()方法來得到你的name數據,並且是只得到了name數據,想要瞅一眼別的?沒門。那要是沒有用private修飾屬性呢?他是不是想要哪個要哪個,想改哪個改哪個,簡直是為所欲為啊。好了,上代碼:

第一個類:Person01

 1 package test;
 2 
 3 public class Person01 {
 4 
 5     //用private來修飾屬性
 6     private String name;
 7     private int age;
 8 
 9     //給屬性添加get、set方法    
10     public String getName() {
11         return name;
12     }
13 
14     public void setName(String name) {
15         this.name = name;
16     }
17 
18     public int getAge() {
19         return age;
20     }
21 
22     public void setAge(int age) {
23         this.age = age;
24     }
25 
26 }

第二個類:Person02

 1 package test;
 2 
 3 public class Person02 {
 4 
 5     public static void main(String[] args) {
 6         //創建的是前面的類Person01類的對象
 7         Person01 p1 = new Person01();
 8         
 9         //現在我想給Person01(別人的類)的屬性附上值,然后拿過來用
10         
11         //不能這樣賦值      如果給Person01里name的private修飾符去掉就可以這樣賦值
12   //    p1.name = "張三";  
13         
14         //通過set方法賦值
15         p1.setName("張三");
16         
17         //是不是每一個set只能賦一個值  如果把Person01類的setAge()方法刪掉,那這個就會報錯
18         p1.setAge(18);
19         
20         //這樣拿不到值,會報錯
21   //    System.out.println("姓名:"+p1.name+"\n年齡:"+p1.age);
22         
23         //得通過get方法才能拿到
24         System.out.println("姓名:"+p1.getName()+"\n年齡:"+p1.getAge());
25         
26     }
27     
28 }
  結果:
  姓名:張三
  年齡:18

 


免責聲明!

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



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