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

运行Java程序时控制台输出null,求排查Student类代码问题

问题排查:Java控制台输出null的原因

嘿,我一眼就发现问题所在了!你的构造函数赋值顺序完全搞反了,这直接导致类的成员变量没有被正确初始化,所以才会输出null(String类型默认值)和0(int类型默认值)。

错误原因分析

在你的构造函数里,你写的是:

public Student(String studentName,int studentAge){
    studentName = name;
    studentAge = age;
}

这行代码的逻辑是把类的成员变量name(此时是默认值null)赋值给参数studentName,把成员变量age(默认值0)赋值给参数studentAge——完全搞反了赋值方向!你传入的"ragaey"和22根本没被存到对象的属性里。

修正后的构造函数

把赋值顺序反过来,将参数的值赋给类的成员变量:

public Student(String studentName,int studentAge){
    name = studentName;
    age = studentAge;
}

或者更规范一点,用this关键字明确区分成员变量和参数(尤其当参数名和成员变量名相同时,这是Java的最佳实践):

public Student(String studentName,int studentAge){
    this.name = studentName;
    this.age = studentAge;
}

修正后的效果

当你重新运行代码,student1.printInfo()就会正确输出:

ragaey
22

内容的提问来源于stack exchange,提问作者Ragaey M.Ragaa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:34:56