Bean这个规范的一个牢骚,大家给个答复
bean里面getter和setter一说,我就一直没搞明白到底有什么用。又要数据隐藏,又要去操作它(那你还隐藏它干什么)。这不是多此一举么。直接public属性不就行了。如果说它为IDE方便,那我就觉得这成了悲哀啦。 
 考虑可能不成熟,可能是我还没有领悟到大师们的真正境界吧。 
 不才大家发发意见。
------解决方案--------------------就是说外部的其它代码不能直接操作这个变量,只能通过gettter、setter方法访问,所有外部代码对类变量的操作都被限定在setter、getter方法中了。   
 主要就是这方面的意义。   
 在开发中慢慢体会其中的含义吧
------解决方案--------------------隐藏是对外隐藏,如果bean中的 属性不是private,那么外界就可以操作它。 
 这样做的原因,是使bean具有独立性,我的东西,只能通过我提供的方式来 
 访问。一定程度上,可使代码具有规范性。否则,可能百花齐放了。
------解决方案--------------------对于变量安全很重要 而且楼主如果你用JSF就知道了 除非你需要特定赋值 否则的话都不会去使用set和get方法 JSF会自动调用
------解决方案--------------------简单的说,get和set方法里面可以不只有一句话,可以包括
空指针处理、异常处理、逻辑判断等功能,仅仅一个属性肯定是做不到的。   
 从功能上看,函数是类提供给外界的接口,外界通过函数来操作对象,也就是说,这个类提供什么样的函数,外界最多就只能完成什么样的操作。如果一个private的属性只提供get而没有set,你就只能读。
------解决方案--------------------我是这么理解的。 
 get和set方法可以封装一些对对象的公共操作。   
 比如我有一个aaa的密码,放到数据库里面希望加密,就可以把加密方法写在set里面,把解密方法写在get里面,而不是每次操作密码字段都要去加密和解密处理。
------解决方案--------------------这里面包含着面向对象思想:)
------解决方案--------------------个人觉得用封装的好处多多 
 如果程序出现错误,查找起来也比较方便!
------解决方案--------------------举个例子 
 如果不set,get 
 public List a; 
 然后某地方调用: 
 a.add之类,可能会
空指针异常  而如果 
 private List a; 
 public List getA(){ 
    if(a==null) 
         return new ArrayList(); 
 } 
 这样getA().add();就不会报异常了
------解决方案--------------------============================== 
 brooksychen(初晨之阳)   
 简单的说,get和set方法里面可以不只有一句话,可以包括空指针处理、异常处理、逻辑判断等功能,仅仅一个属性肯定是做不到的。   
 从功能上看,函数是类提供给外界的接口,外界通过函数来操作对象,也就是说,这个类提供什么样的函数,外界最多就只能完成什么样的操作。如果一个private的属性只提供get而没有set,你就只能读。 
 ===============================   
 我也有楼主的疑惑,如果非要有个理由,目前的理解也就和brooksychen差不多了。 
------解决方案--------------------bean里属性私有  get set方法公有就是向外面的声明:我的地盘我做主,想用我的属性,就要用我提供的方法.   
 属性公有很容易出bug的