现在接口也有一些将主体作为抽象类的方法,那么在Java 8中抽象和接口有什么区别。
答案 0 :(得分:1)
方法类型:接口只能有抽象方法。抽象类可以具有抽象和非抽象方法。从Java 8开始,它还可以具有默认方法和静态方法。
最终变量:在Java接口中声明的变量默认为final。抽象类可能包含非最终变量。
变量类型:抽象类可以具有最终,非最终,静态和非静态变量。接口只有静态变量和最终变量。
多种实现:一个接口只能扩展另一个Java接口,一个抽象类可以扩展另一个Java类并实现多个Java接口。
数据成员的可访问性:默认情况下,Java接口的成员是公共的。 Java抽象类可以具有私有,受保护等类成员。