1.什么是接口
在生活中,接口是一套规范,满足这个规范的设备,就可以将它们组装到一起,从而实现该设备的功能
2.接口的注意点
01.接口不能实例化,因为接口是比抽象类抽象程度更好的类型
02一个类如果实现了某个接口,必须重写该接口中的所有方法
03.接口不能有构造,但是抽象类可以有
04.接口中所有方法都公有的抽象方法
05.接口中的所有字段必须都是公有的静态常量
06.接口本身也是一种数据类型
07.接口只是为实现它的类定义了规范,保证实现类方法签名和接口中对应方法一致。
08.通过接口可以实现多继承
09.一个借口中最好只定义一个方法,防止接口污染
3.抽象类和接口的区别
01.抽象类中可以有普通方法,接口中不能
02.抽象类可以有构造,接口不能
03.抽象类中可以有普通字段,而接口中不行
04.抽象类不能实现多继承,接口可以
05.符合is a关系的选用抽象类,符合has a关系的选用接口
05.接口比抽象类抽象程度更好
下面我们以个例子来了解了解接口
01.有一个USB接口
package cn.Day001; /** * USB接口 */ public interface USBInterface { /** * USB接口提供服务 */ void service(); }
02.U盘实现USB接口
package cn.Day001; //U盘 public class UDisk implements USBInterface { public void service() { //实现USB接口 System.out.println("连接USB口,开始传输数据"); } }
03.USB风扇实现USB接口
package cn.Day001; //USB风扇 public class UsbFan implements USBInterface { //实现接口 public void service() { System.out.println("连接USB口,获得电流,风扇开始转动"); } }
04.测试类
package cn.Day001; //测试类,实现使用 public class Test { public static void main(String[] args) { //1.U盘 USBInterface udisk=new UDisk(); udisk.service(); //2.USB风扇 USBInterface ufan=new UsbFan(); ufan.service(); } }
测试结果: