Java 面向对象 之 匿名内部类 实例 2
http://www.verejava.com/?id=16992879139164
/** 知识点: 匿名内部类 题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声 思路: 1. 抽象出类: 1.1 摩托车(Moto),报警器(Alarm), 人(Person) 2. 找出类的关系: 2.1 摩托车上装有报警器 Alarm -> Moto(1对1) 2.2 警报器有不同品牌的分类 Alarm 3. 找出类属性: 3.1 Moto(品牌,报警器的引用) 3.2 Alarm(品牌) 3.3 Person(姓名) 4. 找出类方法: 4.1 摩托车上装有报警器 Moto{load(Alarm alarm)} 4.2 摩托车被人碰到 Moto{touched(Person p)} 4.3 警报器发出响声 Alarm{beep()} */ public class TestMoto3 { public static void main(String[] args) { //准备生产一台南方摩托车 Moto moto = new Moto("南方"); moto.load(new Alarm() { public void beep(Person p) { System.out.println(p.getName() + " 碰到了警报器 "); } }); //这个时候李明过来了 Person p = new Person("李明"); //李明不小心碰到了摩托车, 摩托车发出了报警声 moto.touched(p); } } abstract class Alarm { //报警器能发出报警声 public abstract void beep(Person p); } class Moto { private String brand;//品牌 private Alarm alarm;//报警器引用 public Moto(String brand) { this.brand = brand; } //装载警报器 public void load(Alarm alarm) { this.alarm = alarm; } //摩托车被人碰到 public void touched(Person p) { alarm.beep(p); } } class Person { private String name;//姓名 public Person(String name) { this.name = name; } public String getName() { return this.name; } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
webpack4.0各个击破(6)—— Loader篇
webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高。本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习webpack工具中相应的处理办法。(本篇中的参数配置及使用方式均基于webpack4.0版本) 一. loader综述 loader是webpack的核心概念之一,它的基本工作流是将一个文件以字符串的形式读入,对其进行语法分析及转换(或者直接在loader中引入现成的编译工具,例如sass-loader中就引入了node-sass将SCSS代码转换为CSS代码,再交由css-loader处理),然后交由下一环节进行处理,所有载入的模块最终都会经过moduleFactory处理,转成javascript可以识别和运行的代码,从而完成模块的集成。 loader支持链式调用,所以开发上需要严格遵循“单一职责”原则,即每个loader只负责自己需要负责的事情:将输入信息进行处理,并输出为下一个loader可识别的格式。 实际开发中,很少会出现需要自己写loader来实现复杂需求的场景,如果某个扩展名...
- 下一篇
Java 包 package 关键字
http://www.verejava.com/?id=16992895490365 包其实就是 文件夹 1. 新建一个包 com.pack1 Eclipse 工程上单击右键 -> New -> Package 然后再 com.pack1 下面新建 Person 类 package com.pack1; import com.pack2.Wallet; // 文件夹路径 com/pack2/Wallet public class Person { public Person() { Wallet w = new Wallet(); System.out.println(w.getMoney()); } public static void main(String[] args) { new Person(); } } 2. 新建一个包 com.pack2 在 com.pack2 包下面新建 Wallet 类 package com.pack2; public class Wallet { private double money; public void setMoney(...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Red5直播服务器,属于Java语言的直播服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16