一、什么是接口
官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
个人理解:1.接口是将多个类中共有的方法提取出来,接口中只有全局常量和公共抽象方法,通过不同类通过重写抽象方法实现各自需要的功能。
2.接口可以多实现,可以弥补继承的局限性(只能单继承)
二、怎么使用接口
1.通过interface关键字创建一个接口,定义需要的常量和抽象方法
2.在其他类中通过implements关键字连接到接口
三、接口的特点
- 接口不属于类,接口中没有构造方法、构造代码块
- 接口中只有全局常量(静态)和公开的抽象类
- 接口只能被其他类实现,不能被类继承
- 接口可以继承于其他接口,并且可以继承多个接口
- 接口中默认所有属性都是静态常量、公开抽象方法,并且隐式的存在static、final、static、abstract
四、接口的使用案例
//接口一
public interface port1{
//属性前隐式的存在static、final
String NAME="接口一";
//方法都是抽象方法,隐式的存在public、abstract,抽象方法没有方法体
void Demo1()
}
//接口二
public interface port2 extends port1{
//接口可以继承一个其他的接口或者继承多个接口(用,隔开)
}
//类,类可以实现多个接口,但是只能继承一个父类
public class Demo1 implements port1,port2{
//继承的接口中如果有抽象方法需要重写抽象方法
@Override
public void Demo1(){
}
}
五、接口和抽象的比较
1.接口只能被实现 抽象类只能被继承
2.接口中都是公开抽象方法 抽象类中可以有普通方法
3.接口的属性都是全局常量 抽象类中可以有普通方法
4.接口中没有构造方法和构造代码块 抽象类中有构造方法
5.接口可以被多实现,并且可以继承其他一个或者多个接口 抽象类只能单继承