Java 面向对象 之 匿名内部类
http://www.verejava.com/?id=16992872428362
/**
知识点: 匿名内部类
题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声
思路:
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 人碰到摩托车 Person{touch(Moto moto)}
4.3 警报器发出响声 Alarm{beep()}
*/
public class TestMoto {
public static void main(String[] args) {
//准备生产一台南方摩托车
Moto moto = new Moto("南方");
//摩托车上预装一台 小功率的 报警器
moto.load(new SmallAlarm());
//这个时候李明过来了
Person p = new Person("李明");
//李明不小心碰到了摩托车, 摩托车发出了报警声
p.touch(moto);
}
}
interface Alarm {
//报警器能发出报警声
public void beep();
}
class SmallAlarm implements Alarm {
//报警器发出响声
public void beep() {
System.out.println("有人碰到我了,可能偷摩托");
}
}
class Moto {
private String brand;//品牌
private Alarm alarm;//报警器引用
public Moto(String brand) {
this.brand = brand;
}
public Alarm getAlarm() {
return this.alarm;
}
//装载警报器
public void load(Alarm alarm) {
this.alarm = alarm;
}
}
class Person {
private String name;//姓名
public Person(String name) {
this.name = name;
}
//人触碰到摩托车, 同时摩托车上的报警器发出响声
public void touch(Moto moto) {
moto.getAlarm().beep();
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
什么是网络爬虫,网络爬虫有什么用?
什么是网络爬虫,网络爬虫有什么用? 简单地说,就是把网页所展示数据通过非人工的手段获取下来。 现在是大数据时代,数据分析是解决各行各业相关问题重要的依据。数据分析结果的准确性有很大一部分取决于数据量是否足够大。如果是几十条数据,我们当然可以让人来一条条地复制粘贴。但就像我们前面说的,数据量要足够大分析出来的结果才是有意义的,所以我们需要的数据量通常比较大,往往不可能通过人力来完成数据采集的工作(因为效率低,而且容易出错,重复枯燥的工作也使人失去耐心)。这时候网络爬虫就起到非常重要的作用。 网络爬虫在数据采集方面有好的优势,比如采集速度快,比人来操作可能要快一千倍一万倍都不止;方便将获取的数据进行相关的清洗加工以及储存工作;代码可重复使用,或者说是“一劳永逸”。举个例子来体现一下: 有一天,你的老板让你做关于某个城市的近五年的天气变化的数据分析与展示来决定公司不同季节的衣服应该在什么时候开始铺货,打折促销等。经过思考,你觉得需要做以下的工作: 1、找到某个天气查询网站,找到所需城市的历史天气网页。 2、获取某个城市近五年的全部数据也就是365*5=1825条数据(每条数据包含天气状况、风...
-
下一篇
Java 面向对象 之 匿名内部类 警报器
http://www.verejava.com/?id=16992876520663 /** 知识点: 匿名内部类 题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声 思路: 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 人碰到摩托车 Person{touch(Moto moto)} 4.3 警报器发出响声 Alarm{beep()} */ public class TestMoto2 { public static void main(String[] args) { //准备生产一台南方摩托车 Moto moto = new Moto("南方"); //摩托车上预装一...
相关文章
文章评论
共有0条评论来说两句吧...