接口就是一组功能(能力/规范)。接口既是一个约定,又是一种能力(接口不关心结果)。
java中的接口是吧所需成员组合起来,用来封装一定功能的集合。
接口和抽象类的区别:
抽象类 接口
可以有默认的和静态的方法实现 Java添加了接口的默认方法和静态方法,并且也可以实现
---------------------------------------------------------------------------------------------------------------------
子类使用extends关键字来继承抽象类。 子类使用关键字implements来实现接口。他需要提供
如果子类不是抽象类,则需要提供抽象类 接口中所声明的方法的实现
中所有声明的方法实现
----------------------------------------------------------------------------------------------------------------------
抽象类可以有构造器 接口不能有构造器
----------------------------------------------------------------------------------------------------------------------
除了不能实例化抽象类,他和普通方法类没区别 接口是完全不同的类型
----------------------------------------------------------------------------------------------------------------------
抽象类可以有public、protected和default修饰符 接口只有默认修饰符public
-----------------------------------------------------------------------------------------------------------------------
抽象类可以有main方法并且可以运行 接口没有main方法
------------------------------------------------------------------------------------------------------------------------
抽象类只能继承一个类和实现多个接口 接口只能继承一个或多个接口,不能继承类
------------------------------------------------------------------------------------------------------------------------
描述一种抽象类的类型 描述一类行为模型