接口(Java)

什么是接口:接口就是一些方法特征的集合,接口是对抽象的抽象。

在java语言中,接口有两种意思:

①概念性的接口,即系统对外提供的所有服务

②指用interface关键字定义的接口,也称为接口类型

特征:

① 接口中的成员变量默认都是public、static、final类型的,必须被显示初始化

②接口中的方法默认都是public、abstract类型的

③接口没有构造方法,不能被实例化

④一个接口不能实现另一个接口,但它可以继承多个其他接口

⑤接口必须通过类来实现它的抽象方法

⑥ 一个类只能继承一个直接父类,但能实现多个接口

语法:

① 修饰符 interface 接口名 extends 父接口1,父接口2....{

//常量定义

//方法定义

}

② class 类名 extends 父类名 implements 接口1,接口2....{

//类成员

}

一个小例子:

使用java接口来模拟生活中的USB接口

1、先定义USB接口,通过service()方法提供服务

public interface Usbinterface{

void service();
}

2、定义U盘类,实现USB接口中的service()方法,进行数据传输

复制代码
复制代码
public class UDisk implementd UsbInterface{
public void service()
{
System.out.println("连接USB口,开始数据传输!");

}

}
复制代码
复制代码

3、定义USB风扇类,实现USB接口中的service()方法,获得电流使风扇转动

复制代码
复制代码
public class UsbFan implementd UsbInterface{
public void service()
{
System.out.println("连接USB口,获得电流,风扇开始转动!");

}

}
复制代码
复制代码

4、编写测试类

复制代码
复制代码
public class Test{
public static void main(String[]args){
//u盘
UsbInterface uDisk=new UDisk();
uDisk.service();

//USB风扇
UsbInterface usbFan=new UsbFan();
usbFan.service();

}

}
 

Java中接口和抽象类的区别:

接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,
实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
原文地址:https://www.cnblogs.com/hq-123/p/5532784.html