Java语言使用关键字interface来定义一个接口
接口的含义:Java中的接口是一个特殊的抽象类,接口中的所有方法都没有方法类。
语法格式如下:
修饰符 interface 接口名 [extends 父接口名列表(父类名称之间用逗号隔开)]{
public static final 常量;
public abstract 方法;
}
接口的实现:接口可以被类实现,也可以被其他接口继承,在类中实现接口可以使用implements
语法格式如下:
修饰符 class 类名[extends 父类名][implements 接口列表]{
}
接口与抽象类
就整体而言接口体现的是一个系统该有的规范,接口一旦定义不应该经常改变,会对系统产生大的影响;而抽象类作为一个模板式的设计,是类抽象概念的更高层次的抽象化,存在的意义是为了为子类提供一个模板,而不是规则
共同点
1.两者都可不能被实例化,能被其他类实现或者继承
2.接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法
区别
1.接口中只能包含抽象方法,不能包含普通方法;抽象类中可以包含普通方法
2.接口不能定义静态方法,抽象类中可以定义静态方法
3.接口中只能定义静态常量属性,不能定义普通属性;抽象类里可以定义静态常量属性,也可以定义普通属性
4.接口不能包含构造器;抽象类可以包含构造器,抽象类里的构造器是为了让其子类调用并完成初始化操作
5.接口类中不能包含初始化款,但抽象类可以包含初始化块
6.一个类最多只能有一个直接父类,包括抽象类;但是一个类可以实现多个接口