java 匿名类例子,Java 面向对象 之 匿名内部类 实例 2

/**

知识点: 匿名内部类

题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声

思路:

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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值