package test7;
//super关键字详解2
/*
* super关键字用在构造方法中:
* 语法:super(实参)
* 作用:通过子类的构造方法去调用父类的构造方法
*
* 语法规则:一个构造方法的第一行如果没有this(``),也没有显示的去调用super()
* 系统会默认调用super()
*
* super的调用只能放在构造方法的第一行
* super和this不能共存
*
* 通过子类的构造方法去调用父类的构造方法,作用是,给当前子类对象中的父类型特征赋值
* super对象虽然执行了,但是并不会创建父类对象
* 构造方法执行,不一定能过会创建对象,super就算构造方法执行,但是没有创建对象
*
* 构造方法的缺点:
* 子类无法创建对象,类型无法被继承,单例模式的类型没有子类
* super.通过当前子类对象访问父类型特征,super()是在子类的构造方法中调用父类的构造方法,目的是给子类中的父类型特征赋值
*/
public class test7 {
public static void main(String[] args) {
debitAccount da=new debitAccount();
}
}
class Account{
private String actno;
private double balance;
public Account(){
System.out.println("Account的无参数构造方法已被执行");
}
public Account(String actno,double balance) {
this.actno=actno;
this.balance=balance;
}
//set and get
public void getactno(String actno) {
this.actno=actno;
}
public String getactno() {
return actno;
}
public void getbalance(double balance) {
this.balance=balance;
}
public double getbalance() {
return balance;
}
}
class debitAccount extends Account{
private double debit;
public debitAccount() {
//如没有构造方法的话,是默认有super.()
}
public void getdebit(double debit) {
this.debit=debit;
}
public double getdebit() {
return debit;
}
}
//super关键字详解2
/*
* super关键字用在构造方法中:
* 语法:super(实参)
* 作用:通过子类的构造方法去调用父类的构造方法
*
* 语法规则:一个构造方法的第一行如果没有this(``),也没有显示的去调用super()
* 系统会默认调用super()
*
* super的调用只能放在构造方法的第一行
* super和this不能共存
*
* 通过子类的构造方法去调用父类的构造方法,作用是,给当前子类对象中的父类型特征赋值
* super对象虽然执行了,但是并不会创建父类对象
* 构造方法执行,不一定能过会创建对象,super就算构造方法执行,但是没有创建对象
*
* 构造方法的缺点:
* 子类无法创建对象,类型无法被继承,单例模式的类型没有子类
* super.通过当前子类对象访问父类型特征,super()是在子类的构造方法中调用父类的构造方法,目的是给子类中的父类型特征赋值
*/
public class test7 {
public static void main(String[] args) {
debitAccount da=new debitAccount();
}
}
class Account{
private String actno;
private double balance;
public Account(){
System.out.println("Account的无参数构造方法已被执行");
}
public Account(String actno,double balance) {
this.actno=actno;
this.balance=balance;
}
//set and get
public void getactno(String actno) {
this.actno=actno;
}
public String getactno() {
return actno;
}
public void getbalance(double balance) {
this.balance=balance;
}
public double getbalance() {
return balance;
}
}
class debitAccount extends Account{
private double debit;
public debitAccount() {
//如没有构造方法的话,是默认有super.()
}
public void getdebit(double debit) {
this.debit=debit;
}
public double getdebit() {
return debit;
}
}