博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口的应用
阅读量:5237 次
发布时间:2019-06-14

本文共 1359 字,大约阅读时间需要 4 分钟。

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

你可能感兴趣的文章
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
实验五
查看>>
leetcode 347 priority,map的使用
查看>>
vue 校验插件 veeValidate使用
查看>>
WCF应用(二)
查看>>
jQuery实现返回顶部效果
查看>>
Java实现将数字转为大写汉字
查看>>
面试题3:二维数组中的查找
查看>>
android单元测试——初识
查看>>
MFC学习(6)——以数组矩阵形式表示读取出来的BMP图像||将数组矩阵数据转成BMP图像...
查看>>
Vuex入门(5)—— 为什么要用Action管理异步操作
查看>>
axios实现拦截器
查看>>
libevent简单介绍
查看>>
接口返回json
查看>>
mojo 接口返回键值对的json格式
查看>>
面试题:判断一个数是否为素数
查看>>
程序设计第三章思维导图
查看>>
Vue 实现按钮单选
查看>>
实现两边文本框对齐
查看>>