关于Java中abstract中的方法执行问题

关于 abstract 类的执行问题

GrandFather.java  (抽象类) ,被 Father 继承 ,具有方法 doGet() 
public abstract class GrandFather {
    protected void doGet(){
        System.out.println("GrandFather doGet...");
    }
}

Father.java (抽象类), 被 Son 继承 , 具有 doGet() , doing() 方法

public abstract class Father extends GrandFather {
    protected void doing(){
        System.out.println("Father doing....");
    }
    protected void doGet(){
        System.out.println("Father doGet....");
       this.doing();
    }
}

Son.java 具有 doing() 方法

public class Son extends Father {
    @Override
    protected void doing() {
        System.out.println("Son doing...");
    }
}

当在 Main 方法中 :
GrandFather gf = new Son() ;
gf.doGet() ; Main 方法打印 Son doing…
总结 : 抽象类会使用最后一个子类的方法 , 如果该子类没有重写该方法 , 那么则使用上一个类中的方法。
个人理解,希望大家批评指正)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值