一、接口
1、什么是接口
接口(英文:interface),在Java编程语言中是一个抽象类型,是抽象方法的集合(接口中的所有方法都是抽象方法),接口通常以interface来声明。
接口是一个特殊的类,这个类中只能存值抽象方法,为了和普通的类去做区分,同时弥补java单继承的缺陷,把这个特殊的类叫接口,使用interface声明接口。
一个类通过实现接口的方式,从而来实现接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非是实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所藐视的所有方法,否则就必须声明为抽象类。另外,在Java中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
2、接口的声明
public interface MyInterface {
public abstract void eat(); // 接口中的所有方法都是抽象方法;
void run(); // 可以省略前面的修饰
}
3、接口的特点
1、接口不能用于实例化对象
2、接口没有构造方法
3、接口中所有的方法必须是抽象方法。默认为public abstract
4、接口不能包含成员变量,除了public static final常量
5、接口不是被类继承了,而是要被类实现。实现使用关键字:implements
6、接口支持多实现
7、一个类可以继承一个类的同时实现多个接口
4、使用接口
使用接口的步骤:
1、创建接口,声明方法
2、创建类,实现接口,实现接口中的方法
3、使用实现后的方法执行具体的操作
5、接口与抽象类的区别
1、抽象类使用关键字abstract class 修饰,接口使用关键字interface
2、抽象类使用关键字extends实现继承,接口使用implements来实现
3、抽象类中可以包含抽象方法和普通方法,接口中只能有抽象方法(1.7之前不能有,1.8之后可以存在普通方法)
4、抽象类可以有构造方法,接口中不能有构造方法
5、抽象类可以有成员变量,接口中只能由常量
6、抽象类只能单继承,接口可以多继承
7、抽象类里面的方法可以是public,protected,private,接口的方法只能是public