千家信息网

如何在Java2中实现匿名内部类

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关如何在Java2中实现匿名内部类的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。/** 知识点: 匿名内部类 题目: 摩
千家信息网最后更新 2025年01月19日如何在Java2中实现匿名内部类

这篇文章给大家分享的是有关如何在Java2中实现匿名内部类的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

/**        知识点: 匿名内部类        题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声        思路:                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("南方");               //摩托车上预装一台 小功率的 报警器                Alarm alarm = new Alarm() {                    public void beep() {                                System.out.println("有人偷车");                        }                };                moto.load(alarm);               //准备生产一台 嘉陵 摩托车                Moto moto2 = new Moto("嘉陵");                moto2.load(alarm);              //这个时候李明过来了                Person p = new Person("李明");              //李明不小心碰到了摩托车, 摩托车发出了报警声                p.touch(moto);                p.touch(moto2);        }}interface Alarm {            //报警器能发出报警声        public void beep();}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();        }}

感谢各位的阅读!关于"如何在Java2中实现匿名内部类"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0