有人知道super()的用法么?
public class BankAccount
{
private double balance;
public BankAccount(double initBalance)
{
balance = initBalance;
}
}
public class SavingsAccount extends BankAccount
{
double interestRate;
public SavingsAccount(double initRate,double initBalance)
{
super(initBalance);
interestRate = initRate;
}
}
有人知道以上的program里super(initBalance)代表什么,有什么重要意义?为什么是必须的?
谢谢~!
----------------解决方案--------------------------------------------------------
super就是调用父类的方法,BankAccount类中有一个构造函数public BankAccount(double initBalance),所以使用super(initBalance);这样的。其用法等同于new BackAccount(initBalance);,当然,你继承了,就使用super而不是实例化了。
----------------解决方案--------------------------------------------------------
那为什么里面的super(initBalance)是必须的?不能换成其他的吗?
----------------解决方案--------------------------------------------------------
不能换成其它的,因为你的父类只有这一个带有参数的构造函数,如果他有别的构造函数的话,你就可以换成别的
----------------解决方案--------------------------------------------------------
LZ是这样定义的:
private double balance;
balance 不是private的吗!! 私有的也可以继承吗 ? 不是public才继承 private 不要的吗 不懂
----------------解决方案--------------------------------------------------------
private 当然不能继承
他的这个程序子类也用不到private这个变量
----------------解决方案--------------------------------------------------------
谢谢大家、
----------------解决方案--------------------------------------------------------