java中 set 和 get

来源:7-4 Java 中的 this 关键字

雪野冰狼

2015-12-16 11:21

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



写回答 关注

5回答

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

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

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

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

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

    雪野冰狼

    非常感谢!

    2015-12-16 16:11:19

    共 1 条回复 >

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

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

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

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

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

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

    吾怯二日

    错了 这短话中的变量应该是属性 抱歉

    2016-03-02 18:10:00

    共 1 条回复 >

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



    慕男婶

    获取学生姓名和获取学生生日两个get方法的返回值有误,返回的是String型,不是int型。。你要注意。。(纯手打,没有注意返回值)

    2015-12-16 11:40:11

    共 1 条回复 >

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

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

Java入门第二季 升级版

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

530649 学习 · 6091 问题

查看课程

相似问题