接口和抽象类的区别

抽象类的概念:声明方法的存在而不去实现它的类叫做抽象类,它用于要创建一个体现某些基本行为的类,并为该类声明方法。

接口时抽象类的变体。在接口中,所有方法都是抽象的。

区别:1.接口只有定义,不能有方法的实现,,而抽象类可以有定义与实现,方法可在抽象类中实现。

2.实现接口的关键字为implements,继承抽象类的关键字为extends。一个类可以实现多个接口,但一个类只能继承一个抽象类。所以,使用接口可以间接地实现多重继承。

3.接口强调特定功能的实现,而抽象类强调所属关系。

4.接口成员默认为public static final,必须赋初值,不能能被修改;其所有的成员方法都市public,abstract的,抽象类中成员默认default,课在之类中被重新定义,也可被重新赋值。抽象方法被abstract修饰,不能被private,static ,synchronized和native等修饰必须以分号结尾,不带花括号.

原文地址:https://www.cnblogs.com/tranquilityMan/p/14492049.html