Java 在子类中获取私有访问错误

Java 在子类中获取私有访问错误,java,subclass,Java,Subclass,我试图推翻取款方式,这样在储蓄账户中就不会透支。当我编译这个时,我得到一个错误,告诉我balance在BankAccount类中有私有访问权。我还需要将双倍余额作为私人余额 import java.util.*; public class BankAccount { private int id; private double balance, public BankAccount(int id,double balance) { this.id = id

我试图推翻取款方式,这样在储蓄账户中就不会透支。当我编译这个时,我得到一个错误,告诉我balance在BankAccount类中有私有访问权。我还需要将双倍余额作为私人余额

import java.util.*;
public class BankAccount {
    private int id;
    private double balance,
    public BankAccount(int id,double balance) {
        this.id = id;
        this.balance = balance;
    }    
    public void setBalance (double balance){
        this.balance = balance;
    }
    public double getBalance (){
        return balance;
    }
    public void withdraw(double amount) {
        balance = balance - amount;
    }

}

public class SavingsAccount extends BankAccount {
    
    public SavingsAccount(int id, double balance) {
        super(id,balance);
    }
    public void withdraw(double amount) {
          if(balance >= amount) {
              super.withdraw(amount);
            }
    }
        
        
    }



你有一个平衡的公共getter,你应该使用它


由于您的成员变量是私有的,编译器肯定会抱怨。这就是它要做的。

为什么不使用您声明的getter方法呢?例如,将
if(balance>=amount)
更改为
if(getBalance()>=amount)
谢谢。这就解决了问题。我应该看到的