接口:如果在一个类中同时使用多个类中的多种功能,不能直接实例化,那么可以通过接口的方式,同时重写多个类的方法。它的本质就是用来弥补单继承的缺陷。
接口特性:
1.用途:接口用来定义方法的规范与准则;Java中的接口更多的是体现在对行为的抽象。
2.使用interface关键字定义接口类
3.接口类中的所有的方法都不能有方法体
4.所有的方法都是抽象方法,public abstract这个抽象的关键字可以不写
5.接口类中如果定义了属性,这个属性一定是一个常量,使用public static final修饰,也可以省略不写
6.不可以有构造方法,所以不能被实例化,除非使用匿名内部类的方法
7.如果使用接口,需要使用implements(实现)关键字
8.实现了接口类,必修重写接口类中的所有方法
9.如果在使用类时要想调用接口类的属性和方法,必须使用多态创建接口类的对象
10.口类中的方法被接口对象调用的时候,指向的是子类中重写的额方法
类和接口得关系:
- 类和类的关系: 继承关系,只能是单继承,但是可以多继承
- 类和接口的关系:实现关系,可以单实现,也可以多实现,还可以继承类的同时实现多个接口
- 接口和接口的关系:继承关系,可以单继承,也可以多继承
抽象类和接口的区别:
- 成员区别:抽象类有常量,变量,构造方法,抽象方法及非抽象方法;接口只有常量和抽象方法。
- 关系区别:类与类有继承,单继承;类与接口有实现,单实现多实现;接口与接口有继承,单继承,多继承。
- 设计理念区别:抽象类,对类抽象,包括属性及行为;接口主要是对行为抽象。