欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-10 12:39:13
在Java中,为了数据的安全,换句话说就是为了隐藏你的代码的一些实现细节,我们会用private来修饰属性,使用private修饰的属性就不能被其他类直接访问了,想要访问就需要通过set、get方法;顾名思义,set是设置数据,ge是得到数据。不知道你想不想问,那我通过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