1. UsbInterFace.java
package Interface_;
//接口本身就是对具体世界里的一个抽象,就像是手机、鼠标等设备和电脑进行连接
//则需要一个相连的插口,也叫做接口。
//鼠标 --> 接口 --> 计算机
//手机 --> 接口 --> 计算机
//1.那么首先,需要创立一个接口
public interface UsbInterFace {
//接口有属于自己的方法,比如可以选择开&关,也就是是否联通其他设备和电脑
public void close();
public void open();
}
2. Mouse.java
package Interface_;
//1.接口已经有了,那么接下来需要创造一个鼠标类了
//2.鼠标类要实现接口,所以要使用另一个关键词implemets
public class Mouse implements UsbInterFace {
//使用接口中的方法,需要重写
//重写close接口,即使用close接口会做什么自己的事情
@Override
public void close() {
System.out.println("鼠标断开");
}
//open()接口同理
@Override
public void open() {
System.out.println("鼠标连接");
}
}
3.Phone.java
package Interface_;
//和鼠标类一样,手机如果要使用接口的话,那么也需要和接口进行连接
//1.连接的关键字是implements
class Phone implements UsbInterFace{
//要使用接口中的方法做自己的事情,则一定要重写方法
@Override
public void close() {
System.out.println("手机开机");
}
@Override
public void open() {
System.out.println("手机关机");
}
}
4.Computer.java
package Interface_;
//接口已经和鼠标、手机相连,但接下来还需要和计算机进行联通,不然这个接口依旧是无法使用的
//比如我要在计算机里面通过接口试下这两个类的话,那么就需要在计算机类中创建一个方法,
public class Computer{
//在方法里调用
//使用接口,也就是被Mouse 和 Phone 修改过的接口
//usbInterface 指继承了UsbInterFace的Mouse、Phone
public void work(UsbInterFace usbInterFace){
//调用usbInterFace里的方法
usbInterFace.open();
usbInterFace.close();
}
}
5. Interface01.java
package Interface_;
//测试类
public class Interface01 {
public static void main(String[] args) {
//创建一个Computer对象
Computer computer = new Computer();
//创建一个Mouse对象
Mouse mouse = new Mouse();
//创建一个Phone对象
Phone phone = new Phone();
//在computer对象里调用mouse对象
computer.work(mouse);
//在computer对象里调用phone对象
computer.work(phone);
}
}