抽象类实现某个接口

/**
 * created by wlx on 2021/11/26
 */
public interface Itest {
    public void eat();

    public void play();
}

一、情景一

抽象类没有实现接口的方法 

public abstract class Test implements Itest{
}

 子类需实现接口的全部方法,否则报错

public class Testapp extends Test{
    @Override
    public void eat() {

    }

    @Override
    public void play() {

    }
}

另外需要注意:抽象类没有实现接口,但是仍然可以调用里面的方法,具体实现交给子类

public abstract class Test implements Itest{
    public void onTransact(){
        this.eat();
        this.play();
    }
}

这种情景在aidl生成的Stub类中出现,就是抽象类Stub实现了IxxxService接口,但是不实现里面的方法,交给子类来实现

情景二:

抽象类实现部分方法:

public abstract class Test implements Itest{
    @Override
    public void eat() {
        
    }
}

子类需实现抽象类未实现的方法,否则报错:

public class Testapp extends Test{
    
    @Override
    public void play() {
        
    }
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>