讨论一下java中的构造方法中为什么不要尝试调用其本类方法!!!

在实现俄罗斯方块游戏过程中,作者尝试在方块构造方法内添加监听器以判断方块是否已下落,但发现这会导致数据错乱和空指针异常。建议避免在构造方法中调用依赖完整对象状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题是因为我在编写俄罗斯方块的时候才发现的,因为我想在方块被方块工厂创建出来的时候就要为方块添加一个判断方块是否已经下落的监听器,但是我当时想要便捷一点的调用添加监听器的方法所以我选择在方块的构造方法中去调用添加监听器的方法,但是后面出现了数据的错乱的问题并且越编写到后面的时候就很容易出现空指针异常的情况。

虽然这个问题在语法上及编译期内不会出现编译错误,并且有的时候程序还能够正确的运行,但是我建议大家千万不要这样做,这样会给后面的数据信息的交流造成混乱。思考一下之后....我认为原因应该是本类的方法需要一个完整的对象才能调用,何为完整的对象呢?就是一定要new过之后的对象才能是完整的对象。假如还不是一个完整的对象就去调用本类方法的话,举个不恰当的例子:就像一个还没有完全进化成人的生物,做了真正人才做的事情

(个人见解如有高见请指出!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值