日期:2014-05-20  浏览次数:20732 次

问大家java的j2se的get、set和public、private的问题?
我们在进行javaWeb变成的时候,在基础bean(持久化bean)里面的成员变量(属性值)一般都是用private修饰,然后提供get、set方法。

我知道的这样的做法目的:1.易于封装,封装一些判断之类的。2.其他类不能直接得到,必须get、set得到或者修改值。

我想问的是,如果一个类中的成员变量,不需要封装,就是按照数据库里面设置的类型传值,没有其他约束。

这种情况下,我可不可以把成员变量,直接用private修饰,不提供get、set方法。

要想得到类中的某个属性,就直接aa.name 、修改就是aa.name = dog ; (aa为类名)这样行不行。

如果不行,能跟我讲一下弊端吗?
------解决方案--------------------
用private修饰,安全是一方面
很多框架都是调用这两个方法来实现沟通,这是一种习惯了。
get/set方法也不一定只是简单的作一个赋值,或一个返回值吧,在这里可以作一些权限的控制,比如不是每个角色都可以赋值的。再比如返回的值不一定是值本身,可以是经过处理了的,比如加密,这用public定义是不能作到的。