首先,名如其意,关于这两个函数get和set方法的使用,就是跟他的意思是差不多的,get就是得到获取的意思,set就是创建设置的意思,类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名。
这两个方法是用在哪里的呢,就是在编程的时候对于Java面向对象的封装性属性,关于Java中的封装,我想我不用多说,封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问,这样一来就达到了封装的目的。
在很多程序中,都喜欢定义一个privata变量,然后为这个私有变量加上get(),set()方法。那为什么不直接定义一个public变量呢?这样做到底有什么好处和意义呢?难道真的仅仅只是为了代码规范?别逗了,不管你信不信,反正我是不信!带着这个问题我在网上寻找答案,真是众说纷纭啊,每个人都能说出一点点道理,但是却都不足以说服我!(所以在这里做一些总结,和大家分享,我们共同学习,共同进步。如果有什么想法和意见,也欢迎大家提出来,我们一起交流。)其中看到有这样一种说法:
“get()和set()方法起到对外界封闭的作用,举个例子:假如你的裤兜里有很多钱,你肯定不会让别人都来掏,肯定只有自己能拿到,或者你拿出来给他,set和get就相当与你的手 而你类里的变量就相当与你兜里的钱,对于外面的人来说不知道你类里有什么他就知道调用这个get会给他一个什么东西”
这里给个代码说明一下:
public class User {
private int id;
private String password;
private String name;//这里的private就是做到封装的作用
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(int id, String password, String name) {
this.id = id;
this.password = password;
this.name = name;
}
对比参照一下这个代码加上文字的理解,相信很快就能够理解这两个函数方法的含义。