抽象类和接口的区别
抽象类和接口的区别
一、抽象类与接口的相同之处
1、抽象类和接口都不能被实例化,都用于被其他类实现或继承
2、他们都可以包含抽象方法,并且在其他类继承或实现的时候都必须实现这些抽象方法
二、抽象类与接口的区别
1、抽象类是对事物属性的抽象,而接口是对行为的抽象
2、接口只能做方法的声明,而抽象类中既可以包含方法的声明,也可以包含方法的实现。
3、接口里只能定义静态常量,而不能定义成员变量,抽象类中既可以定义静态常量,也可以定义成员变量。
4、接口没有构造函数,而抽象类有构造函数。
5、java语法当中只支持类的单继承,而可以存在接口的多实现。
6、接口方法的访问权限必须是公共的,被public修饰