Java复习——继承2

一、子类的实例化过程

在子类进行实例化操作的时候,首先会先让其父类进行实例化操作。之后子类再自己进行实例化操作。
如果父类中没有默认构造方法,在子类的构造方法中必须显示的调用父类的构造方法(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");
      }
}

你可能感兴趣的:(Java)