Java 如何使用字段内部方法?
首先,这是我在这里的第一个问题 我想在传递方法中使用double mebleg,我已经将mebleg等同于构造函数中的balance,但不幸的是,balance的参数量与mebleg to传递方法不符。我怎样才能解决这个问题 我是编程新手。这就是为什么如果我的问题得到了回答,你能建议答案的链接吗Java 如何使用字段内部方法?,java,Java,首先,这是我在这里的第一个问题 我想在传递方法中使用double mebleg,我已经将mebleg等同于构造函数中的balance,但不幸的是,balance的参数量与mebleg to传递方法不符。我怎样才能解决这个问题 我是编程新手。这就是为什么如果我的问题得到了回答,你能建议答案的链接吗 class Acount { static double mebleg; public static void main(String[] args) { Acoun
class Acount {
static double mebleg;
public static void main(String[] args) {
Acount a = new Acount(100);
Acount b = new Acount(0.0);
Acount c = new Acount(0.0);
Acount.transfer(a, b, 50);
Acount.transfer(b, c, 25);
}
public Acount(double balance) {
mebleg = balance;
}
public static void transfer(Acount from, Acount to, double howMuch) {
System.out.println(Acount.mebleg - howMuch);
}
}
如果要将字段用于实例,则不应将其设置为静态。如果您更改了它,您的
transfer()
方法应该使用from.mebleg
(或相关的getter)
(此处不讨论各种现有问题,如事务、并发性、错误处理和货币单位double的使用)。您可能不希望使用静态变量(
mebleg
)来平衡。这对所有账户都是一样的。那么问题到底是什么呢?你有错误吗?输出错误?@ModusTollens请仔细查看我的代码,我使用了关键字“static”。mebleg对于所有账户都应该是静态的,因为钱的数量(我是说100.0,0.0)@Mureinik输出是-50.0-25.0,但我不知道为什么输出是负的,为什么不应该是正的?@nihat我确实仔细看过你的代码。我已经仔细研究代码20年了。相信我:平衡不应该是静态的。
double mebleg;
public Account(double initialBalance) { mebleg = initialBalance; }
public static void transfer(Acount from, Acount to, double howMuch)
{
from.mebleg -= howMuch;
to.mebleg += howMuch;
}