初学java 关于成员变量的问题

 我来答
訾锟慈乐童
2019-05-26 · TA获得超过3903个赞
知道大有可为答主
回答量:3073
采纳率:32%
帮助的人:480万
展开全部
你这个是一种封装保护实例变量的形式
其他的类创造出你这个类的对象的时候不能直接操作变量
只能通过get和set方法来操作变量
比如你这个类的2个成员变量是public的话
我有一个你这个类的实例比如叫a
我可以直接
a.Name=“111”;
这样直接修改实例变量的值如果是你代码的情况的话
上边的语句就不能通过编译想改变Name的值的话必须这么写
a.setName("111");
这样
这只是一种用法
你只要记住
只要不是定义在方法里的不是static变量都是成员变量
除了标记为static的方法都是成员方法
标记了static的变量和方法它们输入类本身
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赤寿充桐欣
2019-10-20 · TA获得超过3845个赞
知道大有可为答主
回答量:3070
采纳率:32%
帮助的人:221万
展开全部
set是改变目标变量的值,get是访问目标变量的值。比方游戏中,你的成绩作为一个变量;你游戏中每次得失分,就需要改变的成绩值,用set方法;而退出时系统要根据你的成绩计算你的奖励时,就需要访问这个变量的值,用get方法。你可能不能理解,一个变量本来可以直接修改,非得用两个方法来这么作。对于一些变量,尤其是关键变量,设为私有变量,而用两个(可以公开)方法封装值的修改和获取,可以避免意外的或者不合规格的修改,特别是需要检查值的范围、有效性等特殊处理的情况下。
get时一般需要返回值作为访问结果(假设不是用参数变量来传递结果)。
set时常用void不返回值,也可以返回set之后的变量值,或者返回set是否成功的标志等等。
你给的例子就是典型的,两个变量私有,别人是无法通过自己的代码修改这个变量的值,外就只有通过这两个公开的方法修改和访问。
当你新建一个人员档案时,就需要给这个人set一个age值吧,当你查一个人的档案时,就需要get这个人的age值。
有一天你的系统要求年龄设置只能是0~144这个范围,那么你只需要修改set方法作检查。设想不用方法封装set,代码中可能有很多处设置age的代码,那么你需要在每个设置点增加检查的代码了。
希望我的回答能够令你满意
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式