一、子类的实例化过程
在子类进行实例化操作的时候,首先会先让其父类进行实例化操作。之后子类再自己进行实例化操作。
如果父类中没有默认构造方法,在子类的构造方法中必须显示的调用父类的构造方法(super)。
注意:构造方法不能被继承
/**
子类的实例化过程
*/
public class ExtendsDemo{
public static void main(String[] args){
HomeChicken c1 = new HomeChicken();
c1.desc();
Pheasant c2 = new Pheasant();
c2.desc();
System.out.println("-----------------");
Pheasant c3 = new Pheasant("小白");
c3.desc();
}
}
//父类
class Chicken{
protected String name;
public Chicken(String name){
System.out.println("Chicken:" + name);
}
public Chicken(){
System.out.println("Chicken");
}
public void desc(){
System.out.println("我是一只鸡");
}
}
//子类,家鸡
class HomeChicken extends Chicken{
public HomeChicken(){
super();//super关键字表示父类对象的引用,调用父类构造方法语句必须是第一句
System.out.println("HomeChicken");
}
}
//子类,野鸡
class Pheasant extends Chicken{
public Pheasant(){
System.out.println("Pheasant");
}
Public Pheasant(String name){
this.name = name;
System.out.println("Pheasant");
}
}