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

Java中Accessor访问器输出结果不正确问题求助

问题原因

你的代码错误来自构造方法没有实现参数到实例变量的赋值逻辑:

  • 你定义的带参构造方法内部是空的,没有把调用构造时传入的1、2、true、'$'这几个值赋值给类的成员变量
  • Java中类的成员变量如果没有手动赋值,会自动初始化对应类型的默认值:
    • int类型默认值为0
    • boolean类型默认值为false
    • char类型默认值为\u0000(不可见的空字符)
      这就是实际运行输出和预期不符的根本原因。
修复方案

修改构造方法,添加this.前缀区分成员变量和参数,完成赋值即可:

public Q4(int wholeNumber, int decimalPart, boolean positive, char currencySymbol){
    this.wholeNumber = wholeNumber;
    this.decimalPart = decimalPart;
    this.positive = positive;
    this.currencySymbol = currencySymbol;
}

修改后重新运行就能得到你预期的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:45:03