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

在非void方法(如ATM项目的getBalance)中添加System.out.print()是否为不良实践?

问题解答

这种在getBalance()里加输出的做法确实是不良编程实践,主要问题有这几点:

  • 一个方法该只干一件事:getBalance()本来的作用就是获取账户余额的数值,现在硬把打印文本的逻辑塞进去,把“拿数据”和“展示数据”混在一起,以后维护起来容易乱。
  • 用起来不灵活:万一以后你只是想获取余额来算转账、存数据库,不想打印东西,这个方法一调用就会强制输出文本,完全不符合需求,要么改方法,要么重新写个新的获取方法,纯属给自己添乱。
  • 改起来麻烦:现在是控制台打印,以后要是换成弹窗显示、写日志,你还得去改Account类里的getBalance()方法,把数据逻辑和展示逻辑绑死了,扩展性太差。

怎么改更合理?

把拿数据和展示数据拆开就行:

  1. 先让getBalance()回归本职,只返回余额:
public double getBalance() {
    return balance;
}
  1. 要么在调用的时候自己加输出:
System.out.println("Your balance is: " + account1.getBalance());
  1. 要么在Account类里单独写个打印余额的方法:
public void printBalance() {
    System.out.println("Your balance is: " + balance);
}

用的时候直接调用这个方法就行:

account1.printBalance();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:59:53