Java实现接口中的部分方法

一、抽象类和接口

抽象类
抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。

public abstract class AbstractClass {
    private int num;

    public abstract void getBookAbs();

    public abstract void getNumAbs();

    //普通方法
    public void dogetCode(int num) {
        this.num = num;
    }
}

定义TestClass继承抽象类

public class TestClass extends AbstractClass {
    @Override
    public void getBookAbs() {

        dogetCode(3);
    }

    @Override
    public void getNumAbs() {

    }
}

接口
接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。

public interface Inter {

    public void getBookInter();

    public void getNumInter();

    public void getName();
}

定义ImplClass继承接口,并实现其中所有的方法

public class ImplClass implements Inter {
    @Override
    public void getBookInter() {

    }

    @Override
    public void getNumInter() {

    }

    @Override
    public void getName() {

    }
}

二、实现接口中的部分方法

我们想实现一个接口,但是又不想具体的实现(当然,如果一个类不是抽象类,要实现一个接口,那必须要实现该接口里面的所有方法,如果是抽象类,那么不必实现接口里面的每一个方法)该接口里面的所有方法,那么我们可以定义一个类,在该类内实现那个接口里面的所有方法,不过这个类里面的这些方法都是空方法,然后让一个子类继承该类,在有选择性的具体的实现其中的某些方法,达到具体的实现与抽象方法分开的目的

1、定义接口

public interface FinalTestInter {
    public void methodFinal_1();

    public void methodFinal_2();
}

2、定义类FinalTestClass实现FinalTestInter接口

/**
 * @author SuTongsheng
 * @create 2019/3/13
 * @Describe
 */
public class FinalTestClass implements FinalTestInter {
    @Override
    public void methodFinal_1() {

    }

    @Override
    public void methodFinal_2() {

    }
}

3、定义方法继承实现类,重新部分方法

public class FinalTestClass_2 extends FinalTestClass {
    @Override
    public void methodFinal_1() {
        super.methodFinal_1();

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容