我目前正在学习java类中的继承。而且我无法弄清楚为什么我不能使用变量" ID"在我的子类中使用super。我的构建者对储蓄类有什么问题?此外,我不允许将帐户中的实例变量更改为public。
public class Account
{
private String ID;
private double balance;
private int deposits;
private int withdrawals;
private double service;
/**
* Constructor for objects of class Account
*/
public Account(String IDNumber, double cashBalance)
{
ID = IDNumber;
balance = cashBalance;
deposits = 0;
withdrawals = 0;
service = 0;
}
我收到错误" ID在帐户"
中拥有私人访问权限 public class Savings extends Account
{
// instance variables - replace the example below with your own
private boolean active;
/**
* Constructor for objects of class Savings
*/
public Savings(String IDNumber, double cashBalance)
{
super(ID);
super(balance);
active = null;
}
答案 0 :(得分:2)
super()
调用父类的构造函数。它与该类的私有变量无关。
我认为你会这样做:
super(IDNumber, cashBalance);
这将调用父类的构造函数,并将Savings
创建的相同变量传递给Account
类。
请注意,在类Savings
中,您将无法访问父变量。您必须为此更改protected
的访问权限。 protected
允许类本身和子级访问,而private
只允许类本身访问。