【Java】匿名内部类开发使用场景

这篇具有很好参考价值的文章主要介绍了【Java】匿名内部类开发使用场景。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用前面创建子类或者实现类的方式来编写代码,如下:

示例代码:

AnimalParent.java

package com.面向对象.Demo38;

public abstract class AnimalParent {
    public abstract void eat();
}

Dog.java

package com.面向对象.Demo38;

public class Dog extends AnimalParent {
    @Override
    public void eat() {
        System.out.println("Dog-eat()");
    }
}

Cat.java

package com.面向对象.Demo38;

public class Cat extends AnimalParent{
    @Override
    public void eat() {
        System.out.println("Cat-eat()");
    }
}

Test.java

package com.面向对象.Demo38;

public class Test01 {
    public static void main(String[] args) {
        AnimalParent dog = new Dog();
        AnimalParent cat = new Cat();
        dog.eat();
        cat.eat();
    }
}

问题:上述代码如果有很多的子类,要创建很多子类,还要继承 重写父类的抽象方法

解决:使用匿名内部类(不需要创建子类或者实现类)

示例代码:

AnimalParent.java

package com.面向对象.Demo39;

public abstract class AnimalParent {
    public abstract void eat();
}

Test.java

package com.面向对象.Demo39;

public class Test01 {
    public static void main(String[] args) {
        AnimalParent dog = new AnimalParent() {
            @Override
            public void eat() {
                System.out.println("Dog-eat()");
            }
        };
        dog.eat();
        System.out.println("=================================");

        AnimalParent cat = new AnimalParent() {
            @Override
            public void eat() {
                System.out.println("Cat-eat()");
            }
        };
        cat.eat();
        System.out.println("=================================");
        
        AnimalParent man = new AnimalParent() {
            @Override
            public void eat() {
                System.out.println("Man-eat()");
            }
        };
        man.eat();
    }
}

上述代码使用的匿名内部类创建了3个子类,Dog,Cat,Man,可以简化了创建子类或者实现类


下一篇文章:匿名内部类底层实现原理文章来源地址https://www.toymoban.com/news/detail-728474.html

到了这里,关于【Java】匿名内部类开发使用场景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java内部类详解(含:成员内部类、局部内部类、匿名内部类、静态内部类)

    字面意思,在类的内部编写的类就叫内部类!即一个类的内部又完整的嵌套了另一个类结构,被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。 内部类是类的第五大成员→【提示:类的五大成员是哪些?[属性、方法、构造器、代码块、内部类]】 内部类一

    2024年04月24日
    浏览(25)
  • Java面向对象中“匿名对象”的使用

    匿名对象 顾名思义,匿名对象指的就是没有名字的对象,在使用中理解为实例化一个类对象,但是并不把它赋给一个对应的类变量,而是直接使用。在理解匿名对象前,我们先创建一个类便于后面的使用。 匿名对象具有以下特征: 语法上:只创建对象,但不用变量来接收,

    2024年02月05日
    浏览(65)
  • Java语言------四种内部类的详细讲解

    目录 一.内部类的介绍 二.内部类的种类 2.1实例内部类       2.2.静态内部类 2.3局部内部类 2.4匿名内部类 总结        内部类: 一个类定义在  另一个类  的  内部。        内部类分为 四种 : 实例内部类、静态内部类、局部内部类、匿名内部类。 使用时机:当一个事

    2023年04月25日
    浏览(33)
  • 【C++技能树】类和对象的使用 --初始化列表,static,友元,内部类,匿名对象的理解与使用

    Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法…感兴趣就关注我bua! 这是一个C++的默认构造函数 虽然我们大多时候混淆初始化与赋值的概念,但在这里,构造函数体中只能成为 赋值 ,因为初始化只能初始化一次,而赋值可以赋值多次。 那么在哪里进行初始化呢

    2024年02月06日
    浏览(36)
  • java for循环内部使用线程

    2024年02月06日
    浏览(31)
  • 局部内部类、匿名内部类、私有内部类

    有关于内部类的讲解,见此篇java内部类的创建 。 下面分别将讲解局部内部类、匿名内部类、私有内部类。 可以在方法中定义内部类,甚至在语句块中也可以定义内部类, 这种情况通常是某个方法需要创建一个类来辅助完成该方法的功能,而这个类只用在该方法中。 局部内

    2023年04月22日
    浏览(23)
  • 分分钟搞定Java中的抽象类和接口!!!(abstract & interface)

    1.抽象类的定义 概述: 我们创建一个动物类,并且在这个类中创建动物对象,但是当你提到动物类,你并不知道我说的是什么动物,只有看到了具体的动物,你才知道这是什么动物,所以说动物本身并不是一个具体的事物,而是一个抽象的事物。只有真正的猫,狗才是具体的

    2024年02月01日
    浏览(35)
  • JavaSE-----内部类详解(实例内部类,局部内部类,静态内部类,匿名内部类)

        目录 认识内部类: 一.实例内部类: 二.局部内部类: 三 匿名内部类:  四、静态内部类 小结:        🐻🐻🐻什么是内部类?官方解释: Java内部类是指在一个类的内部定义的类。它可以访问外部类的成员变量和方法,并且可以被外部类实例化。 🦉🦉🦉通俗的来

    2024年04月08日
    浏览(36)
  • 内部类和匿名类

    目录 一、内部类 1.数据访问 2.静态内部类  二、内部类和外部类区别 1.访问修饰符: 2.static修饰: 3.使用: 三、匿名类  PS:小练习 一、内部类 内部类是指将一个类定义在另一个里面。 内部类分为static内部类和普通内部类。 这个内编译后会产生两个.class文件,分别是A.clas

    2024年02月11日
    浏览(28)
  • 匿名内部类

    匿名内部类是局部内部类的一种简化形式.本质上是一个对象,是实现了该接口或继承了该抽象类的子类对象. 语法格式:    new 类名或者接口名(){        重写方法;    } ; 给匿名内部类名命: 虽然这是匿名内部类,但是仍然可以利用多态来给匿名内部类名命的哈! 匿名内部类

    2024年02月01日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包