抽象类与接口
- 抽象类是重构的结果,结构是设计的结果,更多情况下我们面对接口编程的目的就是减少甚至避免代码的修改而只做代码的添加。
- 类只能单根继承。接口是可以实现多继承的。
- 抽象类与接口都是抽象具体类的,但接口的抽象级别最高。
原文链接: https://blog.csdn.net/cillyb/article/details/81611090
java接口之间的多继承
1.类与类之间是单继承的。直接父类只有一个。
2. 类与接口之间是多实现的。一个类可以实现多个接口。
3. 接口与接口之间是多继承的。
注意事项:
1.多个父接口当中的抽象方法如果重复,没关系。
2.多个父接口当中的默认方法如果重复,那么子接口必须进行默认方法的覆盖重写,【而且带着default关键字】。
原文链接: https://blog.csdn.net/valentino112358/article/details/89036498
抽象方法和默认方法
- 接口的默认方法,可以通过接口实现类对象,直接调用。
- 接口的默认方法,也可以被接口实现类进行覆盖重写。
- 实现抽象方法的实现类,必须实现接口的全部抽象方法,若未全部实现,必须其本身是一个抽象类。
- 抽象接口和抽象类,不能直接实例化使用。
原文链接: https://blog.csdn.net/Valentino112358/article/details/89017509
为什么要用接口呢?
曾经有一个疑惑,如果我的接口中的方法都是未实现的,然后用每一个类实现接口时都要重写接口的方法,那我为什么需要这个接口呢?
一个还算不错的例子是这样的,假设我们的软件是一个主机,我们的代码块是一个个硬件,接口就好比是这些硬件的衔接点。如果我们没有固定的接口,那每一个不同的硬件都需要专门制作衔接点进行安装;接口的作用就是统一化管理,我们只需要负责硬件(代码块)的实现而不需要考虑衔接点(接口)的制作。