抽象类和非抽象类方法执行顺序例子

//抽象例子

abstract class Fruit {

static{ System.out.println("实例化父类1");}
       protected Fruit(){
        System.out.println("实例化父类");
        toPlant();
        toEat();
    }
    protected  void toEat(){};
    abstract protected  void toPlant();//抽象方法没有主体
}
class Banana extends Fruit{
//覆写
    protected Banana(){
        System.out.println("实例化子类 Banana");


    }
    @Override
    protected void toEat() {
        System.out.println("Eat a Banana");
    }
    @Override
    protected void toPlant() {
        System.out.println("Plant a Banana");
    }
}
 class Orange  extends Fruit{
     static{ System.out.println("实例化子类2");}
    public Orange() {
        System.out.println("实例化子类 Orange");
    }
    protected void toEat() {
        System.out.println("Eat a Orange");
    }
    protected void toPlant() {
        System.out.println("Plant a Orange");
    }
}
public class TestFruit {
    public static void main(String[] args) {
        new Banana();
        new Orange();
    }

}

//非抽象例子

  class Fruit {
static{ System.out.println("实例化父类1");}
        protected Fruit(){
        System.out.println("实例化父类");
        toPlant();
        toEat();
    }
    protected  void toEat(){};


    protected  void toPlant(){System.out.println("实例化父类Plant");};


}
class Banana extends Fruit{
//覆写
    protected Banana(){
        System.out.println("实例化子类 Banana");


    }
    @Override
    protected void toEat() {
        System.out.println("Eat a Banana");
    }
    @Override
    protected void toPlant() {
        System.out.println("Plant a Banana");
    }
}
 class Orange  extends Fruit{
     static{ System.out.println("实例化子类2");}
    public Orange() {
        System.out.println("实例化子类 Orange");
    }
    protected void toEat() {
        System.out.println("Eat a Orange");
    }
    protected void toPlant() {
        System.out.println("Plant a Orange");
    }
}
public class TestFruit {
    public static void main(String[] args) {
new Fruit();
        new Banana();
        new Orange();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值