gpt4 book ai didi

java - 我的类中的一个字段可以是其他两个字段的总和吗? ( java )

转载 作者:行者123 更新时间:2023-11-30 02:33:25 25 4
gpt4 key购买 nike

我的代码是这样的:

Public Class Location
{
private int piecesA;
private int piecesB;
private int pieces = piecesA + piecesB;

//methods etc.
}

在我的代码中有很多地方,单独定义的“pieces”字段很有用,并且使其更加简洁。然而,当我尝试通过更改“piecesA”和“piecesB”的值来使用它时,“pieces”的值不会改变。谁能解释为什么会出现这种情况(不允许一个字段是其他两个字段的总和),或者建议实现相同目标的替代方法?

最佳答案

这里的问题是您正在以声明性的方式思考,指出pieces将始终是piecesA和piecesB字段的总和。但 Java 不是声明式编程语言,它是命令式的,因此在运行时评估每个表达式。由于字段声明中有表达式,因此将计算总和并分配pieces字段。

实现您想要的效果的最佳方法不是使用字段,而是使用每次调用时计算总和的方法:

private int piecesA;
private int piecesB;

public int getPieces() {
return piecesA + piecesB;
}

关于java - 我的类中的一个字段可以是其他两个字段的总和吗? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com