接口的使用方式:创建一个类实现接口,复写接口中所有抽象方法
这是一个简单普通的Door类,可以实现开门和关门的操作。
public class Door {
public void open(){
System.out.println("拆下门闩,开门!");
}
public void close(){
System.out.println("架上门闩,关门!");
}
}
public class DoorManage {
public static void main(String[] args) {
Door dr=new Door();
dr.open();
dr.close();
}
}
但是我们想改变开关方式就比较困难,因为我们不可以“拆掉门”。
现在我们给门加锁:
public interface Lock {
public void open();
public void close();
}
public class Lock_ByFace implements Lock {
public void open(){
System.out.println("人脸识别开锁!");
}
public void close(){
System.out.println("人脸识别关门!");
}
}
public class Door {
public void useLockOpen(Lock doorLock){
doorLock.open();
}
public void useLockClose(Lock doorLock){
doorLock.close();
}
}
public class DoorManage {
public static void main(String[] args) {
Door dr=new Door();
dr.useLockOpen(new Lock_ByFace());
dr.useLockClose(new Lock_ByFace());
}
}
假如我们想进行升级,可以重新创建一个类,名字叫做密码开锁。
public class PwdLock implements Lock {
@Override
public void open(){
System.out.println("输入密码正确,开门!");
}
public void close(){
System.out.println("输入密码正确,关门!");
}
public class DoorManage {
public static void main(String[] args) {
Door oldDoor=new Door();
oldDoor.useLockOpen(new PwdLock());
oldDoor.useLockClose(new PwdLock());
}
}