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盘停止工作 手机开始工作 此设备开始工作 手机停止工作