为了账号安全,请及时绑定邮箱和手机立即绑定

java中 set 和 get

java中 set 和 get方法有什么作用,为什么要用get和set?本人初学者,对这个比较模糊,谢谢大神解答!



正在回答

5 回答

set可以设置值,get可以获取值,该属性一般为private的

这样方便其他类使用时查找和修改某个属性,并且这样的修改是可以被看到的

毕竟一个普通的例如user.name="xxx"这样的语句很难被其他人其他程序发现

而set方法作为一个方法是可以被控制和方便调用的

0 回复 有任何疑惑可以回复我~
#1

雪野冰狼 提问者

非常感谢!
2015-12-16 回复 有任何疑惑可以回复我~

我也是新手 说下我的理解:

这里的get和set只是起到封装的作用

其实和普通的方法够造差不多

之所以方法名用get和set是为了符合标准 你完全可以用其他名字代替

只不过当变量被private修饰之后你就不能直接引用了 而是通过:  方法名.变量 来引用所引用类中的变量

0 回复 有任何疑惑可以回复我~
#1

吾怯二日

错了 这短话中的变量应该是属性 抱歉
2016-03-02 回复 有任何疑惑可以回复我~

回复 慕男婶:

public class OK5 {

public String name;

public String brithday;

public int number;

public void setName(String name){

this.name=name;

}

 public void setBrithday(String brithday){

this.brithday=brithday;

 }

 public void setNumber(int number){

this.number=number;

 }

 public String getName(){

return this.name;

 }

 

 public String getBrithday(){

return this.brithday;

 }

 

 public int getNumnber(){

return this.number;

 }

 

 public static void main(String[]args){

OK5 student=new OK5();

student.setName("花花");

student.setBrithday("1987-11-11");

student.setNumber("154895");

 

student.getName();

student.getBrithday();

student.getNumber();

 

 }

}

在 main方法里 setNumber() 和getNumber() 报错 怎么回事啊?


0 回复 有任何疑惑可以回复我~

set,意思是 设置 ,用于给对象填充值(设置值)

get,意思是 获取,用于获取对象的值

例如:

public class Student{

   public String name;// 学生姓名
   public String birthday;// 学生生日
   public int number;// 学生学号
   
   // 设置学生的姓名
   public void setName(String name){
      this.name = name;
   }
   // 获取学生的姓名
   public int getName(){
      return this.name;
   }
   
   // 设置学生的生日
   public void setBirthday(String birthday){
      this.birthday = birthday;
   }
   // 获取学生的生日
   public int getBirthday(){
      return this.birthday;
   }
   
   // 设置学生的学号
   public void setNumber(int number){
      this.number = number;
   }
   // 获取学生的学号
   public int getNumber(){
      return this.number;
   }
   public static void main(String[] args){
   
     Student student = new Student();
     
     student.setName("雪野冰狼");// 把姓名填充到对象中
     student.setBirthday("1992-10-13");// 把生日填充到对象中
     student.setNumber("20161216");// 把学号填充到对象中
     
     // 设置完之后,这个对象中的属性就有值了,下面就可以尽情使用了
     
     student.getName();
     student.getBirthday();
     student.getNumber();
     
   }    
}



3 回复 有任何疑惑可以回复我~
#1

慕男婶

获取学生姓名和获取学生生日两个get方法的返回值有误,返回的是String型,不是int型。。你要注意。。(纯手打,没有注意返回值)
2015-12-16 回复 有任何疑惑可以回复我~

set是设置的意思,而get是获取的意思,顾名思义,这两个方法是对数据进行设置和获取用的。而且,在类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名,比如setage()和getage(),表示设置年龄和获取年龄。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530629    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

java中 set 和 get

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信