java类中为什么要用set()/get()方法而不是直接用public修饰

前言

这个问题其实是我刚开始学习java的时候,就有的一个疑问,但是其实那个是有也没有搞懂也没有主动去找原因,当然现在其实这个问题每个人也都有自己的见解,我这里的只是我就自己的理解,然后查阅一些资料后进行的总结,防止以后被人问到时卡壳。

理解

  1. 首先是因为java是面向对象的变成语言,而一个类也是一个对象的数据模型,所以需要进行封装;同时用户是不需要知道这个对象有哪些属性的,用户只需要知道这个对象有哪些功能,所以这个时候我们创建类的时候,需要尽可能的隐藏类中的属性,因此这个时候就不能使用public进行修饰将属性暴露出来啦,而是需要使用private将类的属性隐藏起来。
  2. 根据实际情况给对应的属性设置不同的权限,比如给一个属性只设置set方法,就是只给了写的权限;如果只设置get方法,就是只给了读的权限。
  3. 项目实际的需求问题,比如我们很多玩游戏的人应该认识CE修改器,这个通过修改数值来进行游戏数据的修改的,那如果游戏中要防止CE修改数据和直接找到数据,可以在set方法里面对参数进行其他的变化,比如传入参数 * 2 + 1这种的,那样用CE直接搜索页面显示的数据的话,是无法搜索到的;当然也有其他的情况下,如get方法中返回数据时固定添加我们需要的其他内容,
    如:
public String getName() {
	return "我的名字叫" + name;
}

个人理解的就只有这些,如果各位有其他的理解或者对我写的有什么不同见解的地方也欢迎分享和指正。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值