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

  • 2020 年 4 月 10 日
  • 筆記

  在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