一.使用super进行子类调用父类的构造方法
1.1案例一
/*
1.举个例子:在恰当的时间使用:super(实际参数列表)
2.注意:虽然调用构造方法,在构造方法执行过程中一连串调用了父类的构造方法,
父类的构造方法又继续向下调用它的父类的构造方法,但是实际上对象只创建了一个
3.思考:super()到底是干啥的?
super(实参)的作用是:初始化当前对象的父类型特征.
并不是创建新对象。实际上对象只创建了1个。
4.super关键字代表的是什么?
super关键字代表的就是“当前对象”的那部分父类型特征。
我继承了我父亲的一部分特征:
例如:眼睛,皮肤等
super代表的就是眼睛,皮肤等
"眼睛","皮肤等"虽然是继承了父亲的,但是这部分是在我身上的
*/
//测试程序
public class SuperTest03{
public static void main(String[] args){
CreditAccount c = new CreditAccount();
System.out.println(c.getActno() + "," +c.getBalance() + "," +c.getCredit());
CreditAccount c1 = new CreditAccount("11",22,33);
System.out.println(c1.getActno() + "," +c1.getBalance() + "," +c1.getCredit());
}
}
//账户
class Account{
private String actno;
private double balance;
//构造方法
public Account(){
}
public Account(String actno,double balance){
this.actno =actno;
this.balance = balance;
}
//setter and getter
public void setActno(String actno){
this.actno = actno;
}
public String getActno(){
return actno;
}
public void setBalance(double balance){
this.balance = balance;
}
public double getBalance(){
return balance;
}
}
//信用账户
class CreditAccount extends Account{
//属性:信誉度
//子类特有的一个特征,父类没有
private double credit;
//构造方法
public CreditAccount(String actno,double balance,double credit){
//私有属性只能在本类中访问
/*
this.actno