Java8中接口和抽象类的根本区别
考虑到接口现在可以为它提供的方法提供一个实现,我无法合理解释接口和抽象类之间的区别。有人知道如何正确解释这种差异吗Java8中接口和抽象类的根本区别,java,interface,abstract-class,java-8,default-method,Java,Interface,Abstract Class,Java 8,Default Method,考虑到接口现在可以为它提供的方法提供一个实现,我无法合理解释接口和抽象类之间的区别。有人知道如何正确解释这种差异吗 我还被告知,从性能上看,接口比抽象类要轻一些。有人能确认吗?接口仍然不能有任何状态。接口仍然不能有任何最终方法,这意味着任何实现都可以覆盖其所有默认方法。接口仍然不能有任何构造函数 您仍然可以实现多个接口,即使它们具有具有相同签名的默认方法。不能扩展多个类(抽象类或非抽象类) 一个类可以只从另一个类继承,但可以实现许多接口 除定义常量外,接口可能没有任何字段,而抽象类可以 抽象类可
我还被告知,从性能上看,接口比抽象类要轻一些。有人能确认吗?接口仍然不能有任何状态。接口仍然不能有任何最终方法,这意味着任何实现都可以覆盖其所有默认方法。接口仍然不能有任何构造函数 您仍然可以实现多个接口,即使它们具有具有相同签名的默认方法。不能扩展多个类(抽象类或非抽象类)
接口非常适合对包、库、域或应用程序的概念进行建模和通信。它们不依赖于实现细节,允许随意替换实现。它们支持测试和模块化。谢谢!第一个原因让我明白了两者之间的区别。只有接口可以扩展为函数接口,抽象类不能在lambdas中使用。