继承中构造方法的注意事项——父类没有给出显式无参构造方法的情况

package basicjavaday08;
/**
 * 如果父类没有给出无参构造方法,子类的构造方法会出错。解决方法如下:
 * 1.在父类中增加一个无参构造方法
 * 2.在子类构造方法中通过super关键字显式的调用父类的带参构造方法
 * @author gt.liu
 * time 2016年10月13日 下午5:10:24
 * BasicJava basicjavaday08 InheritTest01.java
 */
public class InheritTest01 {
    public static void main(String[] args){
        SonClass ss = new SonClass();
        ss.show();
        System.out.println("***********************");
        ss.firstName = "chen";
        ss.age = 20;
        ss.show();
    }
}
class FatherClass{
    String firstName = "liu";
    int age = 23;
    public FatherClass(String name, int a){//有参构造方法
        this.firstName = name;
        this.age = a;
        System.out.println("这是父类FatherClass的带参构造方法");
    }
    public void show(){
        System.out.println("FatherClass的show()方法");
    }
}

class SonClass extends FatherClass{
    String firstName = "zhang";
    int age = 21;
    public SonClass(){
        super("li", 20);//子类的构造方法通过super关键字显式的调用父类的带参构造方法。
    }
    public void show(){
        System.out.println("子类SonClass的show()方法");
        super.show();//继承父类的show()方法
        System.out.println("firstName = " + super.firstName + ", age = " + super.age);
        System.out.println("firstName = " + firstName + ", age = " + age);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值