美文网首页
Java类实现某个接口后,是否需要实现接口中的所有方法?

Java类实现某个接口后,是否需要实现接口中的所有方法?

作者: sakura579 | 来源:发表于2022-03-06 23:43 被阅读0次

1.结论
并不是所有的类实现接口后都必须实现接口的所有方法!

2.特殊情况
当Java抽象类实现某个接口后没必要实现所有的方法。

3.注意点
当Java普通类实现接口后必须实现接口中的所有方法。

4.原因
为什么抽象类不需要实现所有方法?
因为抽象类本身是具有抽象性的,它的方法也大多不需要进行实现,只需要声明,其他实现的过程多交给继承它的子类。而接口本身就更为抽象的一种形式,所以如果让一个本来抽象的类去实现一个更为抽象的接口的所有方法是没有必要的,除非对于抽象类本身而言需要接口的一些方法来完善自身。而没有实现的其他方法完全可以交给它的派生类去实现。

为什么普通类需要实现所有方法?
普通类中的所有方法都需要有方法体,即使是空方法。当一个普通类实现了一个接口后就必须要实现其所有的方法,如果有任何一个方法没有实现,在类向接口向上转型的时候就会因为丢失数据(因为此时普通类中没有接口的完整数据)导致转型失败,这样显然是不允许的。

5.同时使用抽象类和接口有什么好处?
如果一个普通类想要实现接口的某些方法,此时需要借助抽象类,可以让抽象类先实现接口中的部分方法,然后普通类通过继承抽象类后再去实现自己需要的接口中的方法。

相关文章

  • Java类实现某个接口后,是否需要实现接口中的所有方法?

    1.结论并不是所有的类实现接口后都必须实现接口的所有方法! 2.特殊情况当Java抽象类实现某个接口后没必要实现所...

  • 成为Java顶尖程序员,先过了下面问题!(二)

    二、Java基础 1.接口与抽象类的区别? 接口是抽象方法的集合,一个类实现了某个接口,就必须实现接口中的所有方法...

  • 接口和抽象类的区别是什么?

    接口的方法默认是 public, 所有方法在接口中不能有实现(Java 8开始接口方法可以有默认实现), 而抽象类...

  • 接口和抽象类的区别

    接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以...

  • 接口与抽象类

    接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可...

  • 接口和抽象类的区别是什么?

    接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可...

  • 面试者必看:Java8中的默认方法

    背景 在Java8之前,定义在接口中的所有方法都需要在接口实现类中提供一个实现,如果接口的提供者需要升级接口,添加...

  • Java08接口

    接口 概念抽象类型,是抽象方法的集合(如果某个类实现接口,就必须实现接口中所有的方法,除非这个类是个抽象类)。一个...

  • 接口和抽象类的区别

    1、接口的方法默认是public,所有方法在接口中不能有实现(Java8开始接口方法可以有默认实现),抽象类可以有...

  • Kotlin 面向对象的一些笔记

    接口提供默认实现的方法 以前 Java 中,我们要是在接口中增加一个方法,那么所有实现这个接口的类都必须要重写这个...

网友评论

      本文标题:Java类实现某个接口后,是否需要实现接口中的所有方法?

      本文链接:https://www.haomeiwen.com/subject/qhdgrrtx.html