javac LIzy.java LIzy.java:48: 错误: money可以在Bank中访问private System.out.printf("取出了%.2f元,当前余额%.2f\n", withdrawal, account.money);
时间: 2024-11-22 21:37:54 浏览: 12
Tinyos2.x安装方法-Windows_Cygwin平台
在`LIzy.java`文件的第48行出现了错误,原因是你试图通过`account`对象访问`money`私有变量。在Java中,私有(private)字段只能在其声明的类内部访问,外部无法直接获取其值。
在`Bank`类中,如果想要在`get`方法里更新余额并打印余额,你应该提供一个公共的方法供外部获取余额,例如添加一个`getBalance()`方法:
```java
public class Bank extends Manage {
// ...
// 添加一个获取余额的方法
public double getBalance() {
return money;
}
// 更新后的取款方法,现在可以安全地访问和更新余额
@Override
public double get(double withdrawal) {
if (withdrawal <= money) {
money -= withdrawal;
System.out.printf("取出了%.2f元,当前余额%.2f\n", withdrawal, getBalance());
return money;
} else {
throw new IllegalArgumentException("余额不足");
}
}
}
// 现在在主类中,你可以通过account.getBalance()来获取余额,而不是直接访问money
```
运行`javac LIzy.java`之前,请确保你在`Bank`类中进行了上述修改。如果不进行修改,编译会提示错误,因为`money`不是公开可见的。
阅读全文