黑马程序员技术交流社区
标题:
get set方法到底是怎么用的呢?
[打印本页]
作者:
Vampire..
时间:
2015-7-10 13:42
标题:
get set方法到底是怎么用的呢?
我只知道get set是为了程序的封装,便于其他类读取。但set get方法具体有什么用呢?
比如下面这个程序
class GetSet{
private int age;
public void setAge(int a){
age = a;
}
void speak(){
System.out.println("age="+age);
}
public static void main(String[] args){
GetSet gs = new GetSet();
gs.setAge(10);
gs.speak();
}
}
没有get方法同样也可以读取出age=10
那get方法又有什么用呢?
作者:
zhhrai
时间:
2015-7-10 13:49
看你需求,又不是一定要有get的.
如果我就是要age值,而不是要他打印出来呢?
作者:
Vampire..
时间:
2015-7-10 13:59
zhhrai 发表于 2015-7-10 13:49
看你需求,又不是一定要有get的.
如果我就是要age值,而不是要他打印出来呢?
打印的话不是用speak方法就可以吗?get是做什么用的?
作者:
zhhrai
时间:
2015-7-10 14:03
你可以拿这个值做其他事情的啊...不一定是打印..
但是你非要觉得不要get 那是可以的.这就是看需求.
以后可能需要访问private修饰的变量来做其他的...所以一般加上比较好.
我可以拿这个年龄和别人年龄比较...等等...
作者:
孟卫严
时间:
2015-7-10 21:24
主要是在一个类里面的私有成员,别的类里面访问不到
所以他自己就对外提供了set和get方法,用来保护他的
私有成员
如:
class Person{
private String name;
private int age;
public Person(){
}
public Person(String name,int age){
this.name=name;
this.age=age;
}
public void setName(){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public static void study(){
System.out.println("ѧϰ");
}
}
复制代码
它对外就提供了设置名字和年龄的方法,这样外面的成员也可以
访问他了
作者:
wx_HWRW5aF7
时间:
2015-7-10 21:51
老师应该是为了演示才加上void speak()方法的
作者:
bl141421
时间:
2015-7-10 21:55
一般就是为了避免让人可以直接访问成员变量,会把成员变量私有化 提供方法来访问
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2