问答详情
源自:7-4 Java 中的 this 关键字

java中 set 和 get

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



提问者:雪野冰狼 2015-12-16 11:21

个回答

  • Caballarii
    2015-12-16 12:23:42
    已采纳

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

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

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

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

  • 吾怯二日
    2016-03-02 18:04:38

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

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

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

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

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

  • re浪
    2016-01-28 17:33:06

    回复 慕男婶:

    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() 报错 怎么回事啊?


  • 慕男婶
    2015-12-16 11:37:15

    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();
         
       }    
    }



  • RockenRoll
    2015-12-16 11:33:02

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