今天在书上看见几行代码,里面有set(),get()方法,俺不理解是啥意思.
上网查半天,大概知道是给private属性赋值和取值的,可是我不是很理解这两个方法的作用,
为什么要用set(),get(),这两个方法是必须一起写吗?

偶知道偶的问题很菜,请大侠表嘲笑偶,偶很细心耐心的倾听大侠你的教诲呢~

解决方案 »

  1.   

    隐藏实现可以在get内部方法进行数据处理,也可以在set方法进行参数检测。
      

  2.   

    因为私有变量只能在声明它的那个类直接使用,其它类要使用一般通过public的set和get方法,至于是不是一起的倒不一定,看你需求,比如你那个私有变量已初始化,是final的,不能再更改,就不需要再有set方法了
      

  3.   


    set()是给属性赋值的,get()是取得属性值的
    被设置和存取的属性一般是私有
    主要是起到封装的作用,不允许直接对属性操作
    set()和get()不一定同时存在,看程序需求
      

  4.   

    把类中的变量定义成似有变量,也就是private类型 不允许其他对象直接访问
    只有拥有这个类的对象 调用get和set方法 才能访问成员变量
    这体现了java的良好的封装新 为了安全
      

  5.   

    安全,方便 访问private数据
      

  6.   

    javabean的约定,现在都已经是习惯了。在很多表达式中是强制用get和set了
      

  7.   

    上面说的挺多了已经,楼主也应该有一个认识了吧?
    简单理解--Java中的私有属性,在外部是不允许直接访问的
    但是可以通过他的set和get方法来访问
      

  8.   

    在JavaBean中要求属性私有,方法共有,一方便,二安全!要求提供一个默认的无参方法!为以后调用!
      

  9.   

    这中set和get方法的使用主要是以下几种情况:
    1.根据面向对象的编程的原理,也是出于对对象的封装,类属性采取private
    类如:private int id;然后对象通过get和set方法来得到id
    2.在Java后期的学习中,XML的配置映射要用的到。以后你学到就明白了。仿佛是javabean的约定俗成的方法。总之就是一种面对对象的思想
      

  10.   

    刚学java的一般不知道,学的时间久了,就知道啦。
      

  11.   

    set()是给属性赋值的,get()是取得属性值的 
    被设置和存取的属性一般是私有 
    主要是起到封装的作用,不允许直接对属性操作 
    set()和get()不一定同时存在,看程序需求
    楼上写的很明白了!
      

  12.   

    在IOC中用得比较突出(自己是这么认为的)
      

  13.   

    这是面向对象的三大特点之一:封装。把数据封装可以保证数据的安全性。
    至于它写不写并没有什么硬性规定,只是为了达到某个目的才写,get()方法是通过对象可拿到该对象的(属性)字段值,set()方法则是给对象的属性赋值的。
      一个属性如果只有get()方法则表示那个属性是只读的不允许修改的。
      

  14.   

    为的是更好的实现数据的封装跟耦合,等你以后开始学jsp了就知道了,在jsp标签中有<jsp:getProperty....>
    和<jsp:setProperty.....>这两种方法都是在猜的基础上对你JavaBean中的变量进行方法上的添加,比如你有个carNum变量,则在进行方法猜测的话,它会自动猜你的JavaBean中有一个方法:getCarNum()和setCarNum(int num),这些方法的便利,你以后会慢慢体会到的!
      

  15.   

    这就是Java的特性-封装,以后时间长了你会体会到它的用途的!
      

  16.   

    原是javaBean的约定, 后广泛流传, 以至泛滥~~~
      

  17.   

    是做封装用的。一般用在javabean中,来实现某种功能。用来对外提供和修改数据
      

  18.   

    是啊,广泛到你定义一个变量,eclipse都可以帮你生成get和set方法了
      

  19.   

    当类中对于一个属性来说,既有get方法也有set方法的时候,似乎感觉不到有什么好处,似乎直接把属性设置为public不是更好一点,但是我们要考虑一下,当我们只需要set方法的时候,或者只需要get方法的时候,封装的优点就体现出来了,比如,当我们统计类已经有几个实例的时候,我们只需要get方法,而不需要set方法,可能举得例子不是太恰当,但是一时想不起来有什么好点的例子
      

  20.   

    Java中良好的封装要求不能直接通过类的实例来直接访问属性(除非特殊情况),而是要通过类的方法来访问和操作属性。set和get方法就是这样的方法。class TestPubAndPri{
    public int publicVar; 
    private int privateVar;  public int getPrivateVar(){
    return this.privateVar;
    } public void setPrivateVar(int i){
    this.privateVar = i;
    }
    }public class Test{
    public static void main(String args[]){
    TestPubAndPri t = new TestPubAndPri(); t.publicVar = 10; //不安全
    //t.privateVar = 10; 直接赋值会有错误
    t.setPrivateVar(20);
    System.out.println(t.getPrivateVar());
    }
    }
      

  21.   

    这是javaBean规范,如果楼主继续学J2EE,用到Spring等框架就会有更深刻的理解了,现在无所谓了
    认为是数据安全就可以了
      

  22.   

    如果你使用JavaBean,set,get方法是JavaBean的规范,一般使用getter,setter,方法主要是用来做属性访问,也是一种封装
      

  23.   

    private 是私有的意思,在方法中定义私有属性,然后写get(),和set()方法,这样在使用这个对象的时候会很方便。
      

  24.   

    就是一种大家都遵守的习惯,属性是private,所以要取得和设置属性就要用get\set方法.这两个方法不必同时存在,看你需要什么