作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 savingAccount 的对象,当我在 main 上创建两个此类对象时,我可以设置用户初始帐户余额。当我创建第一个对象时,初始值设置为 3000,当我创建第二个对象时,我的第一个和第二个对象的初始值都设置为 2000
首先我认为这与公共(public)方法和类有关,但我将它们全部设置为私有(private)、 protected 等,问题仍然存在。
这是我的对象:
public class SavingsAccount {
private static double annualInterestRate = 0;
private static double savingsBalance = 0;
private static double monthlyInterest = 0;
SavingsAccount(double savingsBalance){
this.savingsBalance = savingsBalance;
}
void setAnnualInterestRate(double annualInterestRate){
this.annualInterestRate = annualInterestRate;
}
private static void updateSavingsBalance(){
savingsBalance = savingsBalance + monthlyInterest;
}
double getSavingsBalance(){
return savingsBalance;
}
}
这是我的司机:
SavingsAccount saver1 = new SavingsAccount(3000.00);
System.out.println("User 1 balance: " + saver1.getSavingsBalance()); // 3000
SavingsAccount saver2 = new SavingsAccount(2000.00);
System.out.println("User 2 balance: " + saver2.getSavingsBalance()); // 2000
//2000 for both now
System.out.println("User 1 balance: " + saver1.getSavingsBalance());
System.out.println("User 2 balance: " + saver2.getSavingsBalance());
最佳答案
问题是您使用的是静态
变量,而不是非静态(实例)变量。
每个静态变量只有一个体现 - 因此在您的情况下,无论您创建多少个 SavingsAccount
对象,它们都共享相同的 savingsBalance
数据。因此,当您(认为您是)更改 SavingAccount
的 savingsBalance
之一时,您正在为所有这些帐户更改它
关于java - 两个对象以某种方式互相更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58436763/
我遇到的问题不是紧急情况,但我不知道该怎么做。我有两个 aspx 网络表单页面。每个都有一个下拉列表。两者都由来自 sql server 的相同数据源填充。问题是,如果我在第 1 页选择一个值,然后转
我正在使用 OpenvSwitch-2.5.2 在两个虚拟机上设置第 2 层网络,如上图所示。 在阅读了 ovs 官方教程和其他一些文章后,我在每个虚拟机上尝试了以下命令: # on vm1 ip l
我是一名优秀的程序员,十分优秀!