目录
接口的定义
接口是一种抽象类型,是抽象方法的集合,用interface来定义
接口其实就是一种额外的扩展功能,也就是事务本来不具有的功能,通过实现接口来获得功能。
interface 接口名称 {
抽象方法;
}
- 接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
- 接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字。
- 接口中的方法都是公有的。
接口的实现
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。...implements 接口名称, 其他接口名称, 其他接口名称...、
在实现接口的时候,也要注意一些规则:
- 一个类可以同时实现多个接口。
- 一个类只能继承一个类,但是能实现多个接口。
- 一个接口能继承多个接口
接口的继承
public interface A extends B, C{
}
接口与接口可以多继承
抽象类与接口的区别
成员的区别:
成员变量:
抽象类:可以定义常量和变量
接口:只能定义常量的时候(默认隐藏了public staticfinal)
成员方法:
抽象类:既可以定义抽象方法(abstract不可以省略),也可以定义非抽象方法
接口:只能定义抽象方法(abstract可以省略)
构造方法:
抽象类:有构造方法
接口:没有构造方法
关系的区别:
类与类:继承关系,只可以单继承,不可以多继承
类与接口:实现关系,一个类继承另外一个类的同时,还可以实现多个接口
接口与接口:继承关系,可以多继承
设计理念区别:
接口:是额外的扩展功能,需要子类实现,从而得到功能
体现的核心思想: "like a"的关系
抽象类:是方法的一种抽象化,把一类行为抽象为一种没有方法体的方法,需要子类重写该方法。
体现的核心思想: "is a"的关系