本帖最后由 wlianghe00 于 2012-01-07 14:00:49 编辑

解决方案 »

  1.   

    最终效果上没区别,但s.userName = "wang"相当于把类属性直接暴露出来,增加了类之间的耦合度,提升了其内部管理的风险。换个想法理解这个事情。Student 好比一个图书馆,两种管理模式:
    1、set/get模式:设置图书管理员,负责存取图书;
    2、直接访问属性:开放图书馆,大家随便拿。你说那种模式对图书馆的管理而言更合适?
      

  2.   

    哦,所以说一般把属性弄成private是吧
      

  3.   


    是的。这样很多东西可以被安全保护,甚至还可以:
    public String getName() { return firstName + lastName;}当然,某些时候为了性能和效率,可以对仅限于模块内部高频度使用的VO类,采取全开放属性访问的模式。