概述
get/set 方法顾名思义,就是一个获得,一个设置方法,它们主要是用来对一个类的私有域操作(私有属性),先看短程序。
Father.java
package inherit;
public class Father {
private String name;
//私有属性姓名
public String getName() { //get方法
return name;
}
/**
* set 方法
*
等号左边的this.name 指代的是这个类的自己私有域private String name
* 等号右边的name 指代的是圆括号里面的String name ,这是外部调用setName时传入的参数
*/
public void setName(String name) {
this.name = name;
}
}
Son.java
package inherit;
public class Son extends Father {
private String name;
//私有属性,姓名
public String getName() {
//get方法
return name;
}
public void setName(String name) { //set方法
this.name = name;
}
}
MainTest.java
package inherit;
public class MainTest {
public static void main(String[] args) {
Father aFather =
new Father();
//aFather.name = "小头爸爸"
->
如果用这个会出错,编译都通不过,因为是私有属性该类之外无法访问
aFather.setName("小头爸爸");
//调用Father类的setName方法
System.out.println("爸爸的名字叫做:"+aFather.getName());
Son aSon = new Son();
aSon.setName("大头儿子");
//调用Son类的setName方法
System.out.println("儿子的名字叫做:"+aSon.getName());
}
}
从上例可以看出,get/set方法就是方便在类外,对该类的私有域(private修饰的)进行操作的,get/set方法的命名是“get/set+属性名”,上例的私有域是name,私有命名是“getName,setName”,采用驼峰命名法,它们用public 修饰,想想这事很神奇,本身该私有域是不允许外部访问,只允许类内部访问,打一个比方,一户人家的房子是一个类,桌椅是private修饰的私有属性,它还有一个public修饰的公共方法扫地机器人,对于局外人的你,是无法在外部对桌椅进行操作的,但你可以操作扫地机器人,因为它是public修饰的,而扫地机器人是这个房子内部成员,它却可以对桌椅这个私有的属性进行操作,因此我们就可以通过操作机器人来操作桌椅,间接达到操作私有域目的,我的理解是用get/set方法来操作对私有域只是约定俗成的,你也可以在类内部其它方法中,设置对私有域的操作,但这样很危险,可能不知道自己在干什么就改变了私有域,那么把属性设置为私有域的安全考虑就化为乌有了。
彩蛋: Eclipse中能自动生成get/set方法,shift+alt+s键调用会出现如下弹窗,选中蓝色部分即可,私有域很多的时候老方便了。
最后
以上就是迷路蜜蜂为你收集整理的深入了解get/set方法的全部内容,希望文章能够帮你解决深入了解get/set方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复