You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java类实现时get方法是否必须与set方法搭配使用

getter 和 setter 不需要同时搭配使用

getter 和 setter 完全没有必须同时出现、搭配使用的强制要求,你当前写的代码完全符合规范,不需要额外添加setter方法。

  • 你当前实现的Product类属于典型的不可变类设计:所有成员属性用private修饰,仅在构造对象时完成属性赋值,对外只提供getter方法读取属性、不提供修改入口,这种设计在实际开发中非常常见:
    • 可以避免属性被意外修改,降低业务逻辑出错的概率,比如商品的基础信息如果在业务规则中不允许随意改动,就不需要提供修改入口
    • 不可变对象天生线程安全,不需要额外加同步锁就能在多线程环境下放心使用
  • 只有当业务逻辑明确要求允许修改某个属性时,才需要为对应的属性添加setter方法:比如你的需求后续新增了「允许修改商品售价」的规则,再加setPrice方法即可,完全不需要为了「成对出现」的误区硬加不需要的setter,额外暴露修改入口反而违反封装原则,会带来不必要的安全风险。

内容的提问来源于stack exchange,提问作者planetoidLV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:24:03