文章目录
一、接口的概念及语法规则
两台电脑要交换数据:
1、通过网络
2、局域网——通过交换机、路由器
3、蓝牙设备——小心连接不上或者连接错误的情况
4、U盘
概念
接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用,在Java中,Java可以看成是多个类的公共规范,是一种引用数据类型。例:电脑的USB接口上,可以插U盘、鼠标、键盘等所有符合USB协议的设备;电源的插座插孔上,可以插电脑、充电器、电视机等所有符合规范的设备。
语法规则
接口的定义格式与类的定义格式基本相同,将class
关键字换成interface
关键字,就定义了一个接口
public interface IUSB {
// 默认是抽象方法
public abstract void method1(); // public static 是固定搭配,可以不写
public void method2();
abstract void method3();
void method4(); // 推荐推荐
}
1、创建接口时,接口的命名一般是以大写字母I
开头
2、接口的命名一般是使用形容词词性的单词
3、阿里编码规范中约定,接口中的方法和属性不要加任何修饰符号,保持代码的简洁
二、接口的使用
接口不能直接使用,必须有一个“实现类”来“实现”接口。
子类和父类是 extends 继承关系,类和接口是 implements 实现关系。
public class 类名 implements 接口{
}
eg.
实现一个笔记本电脑实现USB鼠标、USB键盘的例子
USB接口:包含打开设备、关闭设备的功能
笔记本类:包含开机功能、关机功能、使用USB设备功能
鼠标类:实现USB接口,并具备点击功能
键盘类:实现USB接口,并具备输入功能
public interface IUSB {
void openDevice();
void closeDevice();
}
public class Computer {
public void openComputer(){
System.out.println("打开电脑");
}
public void closeComputer(){
System.out.println("关闭电脑");
}
public void useDevice(IUSB usb) {
usb.openDevice();
if(usb instanceof Mouse){
Mouse mouse = (Mouse) usb; //向下转型 将usb转为mouse
mouse.click();
}else if(usb instanceof KeyBoard){
KeyBoard keyboard = (KeyBoard) usb;
keyboard.inPut();
}
usb.closeDevice();
}
}
public class Mouse implements IUSB{
// 接口中的openDevice和closeDevice都要在相应的类中实现,只要有一个没有实现,应该将此类标为抽象类
@Override
public void openDevice() {
System.out.println("打开鼠标");
}
@Override
public void closeDevice() {
System.out.println("关闭鼠标");
}
public void click(){
System.out.println("点击鼠标");
}
}
public class KeyBoard implements IUSB {
@Override
public void openDevice() {
System.out.println("打开键盘");
}
@Override
public void closeDevice() {
System.out.println("关闭键盘");
}
public void inPut(){
System.out.printl