java类中为什么设置set和get方法操作属性

 我来答
江湖做任务Yq
2013-12-11 · TA获得超过144个赞
知道答主
回答量:179
采纳率:0%
帮助的人:59.7万
展开全部
当然java中这样做有它的原因: 1 将数据与行为分离,也就是java的面向对象的概念。 对象就是属性+行为,封装就是把对象的私有属性封装起来,只有通过自己公开的行为去改变(获得)对象内部的私有属性信息,而那些public的方法正是面向其他对象的接口,只有通过接口去改变(获得)对象的私有属性 2 安全性 设想,你有一个Person类代表一个人,Person有一个char类型的sex字段表示性别,理论上,sex只接受两个值, 'M '和 'F ',但如果你把sex字段设为public,你很难限制你的用户只给它赋 'M '或 'F '值。将sex设为private,再用setSex()来设置性别,你就完全可以控制这种行为了。而且你还可以控制只能get不能set,或相反,但如果是public就不行了。别外有一点属性我们可能并不希望其他用户对我们的属性进行写操作,这个时候,可以直接不写setX方法。这就是只读属性了。 3 编码规范性 我们在设计类,或者作com组件时经常告诉其实coder,你只需要调用我的XX接口方法就可以了,内部我是怎么实现的,你不用管,如果面向特定的环境特定的时间段,直接将属性声明为public,让外部对象访问也未偿不可,没有面象对象思想时,我在写C语言程序时结构中的变量是可以随意被访问的,因为没有pulbic,private之分,现在我们是面向对象编程,我们需要在接口处作文章,而保护对象的私有属性,即安全性,只有通过对外公开的接口方法去访问在面向对象理论上认为是安全的。4 稳定性5 可扩展性6 便于维护
tianweisong86
2013-12-12 · TA获得超过781个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:283万
展开全部
那一大段我就不说了,到哪都能搜到。
说简单点你可以往getter、setter里面加权限,谁可以访问,谁不可以,数据过滤(当然只是这么一说,过滤一般都是用filter)之类的,这样你想想是不是很爽啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式