public class SavingsAccount {
public static int annualInterestRate = 0;
private double savingsBalance = 0;
public double calculateMonthlyInterest(){
return (savingsBalance * annualInterestRate)/12;
}
}
这就是我现在拥有的。除了设定值之外,我做了所需的每一部分。我需要一个静态方法来将annualInterestRate的值设置为其他值。如您所知,要在静态方法中修改某些内容,变量也应该是静态的。这就是为什么annualInterestRate是静态的。我的问题是,我不知道如何创建一种方法,也不会对其进行硬编码。我需要一个可以在另一个类中测试的方法。我应该使用set和get方法来执行我想要的吗?
答案 0 :(得分:0)
访问成员变量的方法方法需要声明为public,而成员变量应该是私有的,只能通过访问方法进行修改。
答案 1 :(得分:0)
static
字段是绑定到类的全局变量。发生一次。
因此,将字段设置为非静态字段,该字段将成为每个SavingsAccount对象this
。
public class SavingsAccount {
public int annualInterestRate = 0;
public double savingsBalance = 0;
public void calculateMonthlyInterest() {
double y = (savingsBalance*annualInterestRate)/12;
savingsBalance = y +savingsBalance;
}
public void modifyInterestRate(int n) {
this.annualInterestRate = n; // Or simply:
annualInterestRate = n;
}
}
顺便说一句字段无需初始化。默认情况下,它们将为0,0.0,null,false。
答案 2 :(得分:0)
将这些变量设为静态意味着SavingsAccount的每个实例都会看到相同的值。
当您创建我的SavingsAccount时,请将值设置为等于Warren Buffet的余额。
更好的想法是使用实例变量:
public class Account {
private double balance;
public Account(double balance) { this.balance = balance; }
public double getBalance() { return this.balance; }
public void setBalance(double newBalance) { this.balance = newBalance; }
}