接口的应用

1 实现接口的匿名类对象

public class TestUsb {

    public static void main(String[] args) {
        Computer c = new Computer();
        c.doWork(new Printer());  //体现接口实现类的多态性
        
        Flash f = new Flash();
        f.start();
        f.stop();
        //实现接口的匿名类对象
        Usb phone = new Usb(){

            @Override
            public void start() {
                System.out.println("手机开始工作");
                
            }

            @Override
            public void stop() {
                System.out.println("手机停止工作");
                
            }
        };
        c.doWork(phone);

    }

}
class Computer{
    public void doWork(Usb usb){   
        usb.start();
        System.out.println("此设备开始工作");
        usb.stop();
    }
}
interface Usb{           //--------面向的接口----
    void start();
    void stop();
}
class Flash implements Usb{  //-------面向接口编程,作为不同设备的驱动程序-----

    @Override
    public void start() {
        System.out.println("U盘开始工作");
        
    }

    @Override
    public void stop() {
        System.out.println("U盘停止工作");
        
    }    
}
class Printer implements Usb{

    @Override
    public void start() {
        System.out.println("打印机开始工作");
        
    }

    @Override
    public void stop() {
        System.out.println("打印机停止工作");
        
    }
    
}

打印结果:

打印机开始工作
此设备开始工作
打印机停止工作
U盘开始工作
U盘停止工作
手机开始工作
此设备开始工作
手机停止工作

原文地址:https://www.cnblogs.com/yjtm53/p/4140313.html