What is difference between interface and abstraction in java 8?
本问题已经有最佳答案,请猛点这里访问。
现在界面也有一些与抽象类一样的方法,那么Java 8中抽象和接口的区别是什么呢?
方法类型:接口只能有抽象方法。抽象类可以有抽象方法和非抽象方法。从Java 8,它也可以有默认的和静态的方法。
最终变量:在Java接口中声明的变量默认为最终的。抽象类可以包含非最终变量。
变量类型:抽象类可以有最终变量、非最终变量、静态变量和非静态变量。接口只有静态变量和最终变量。
多个实现:一个接口只能扩展另一个Java接口,抽象类可以扩展另一个Java类并实现多个Java接口。
数据成员的可访问性:默认情况下,Java接口的成员是公共的。Java抽象类可以具有类成员,如私有的、受保护的等等。