当前位置: 首页 > news >正文

每日一题----------匿名内部类的注意事项

总结:

1.局部内部类是定义在外部的局部位置,方法中或者代码块中。

2.可以直接访问外部类的所有成员,包括私有的。

3.不能添加访问修饰符,但可以使用final关键字修饰。

4.作用域:仅仅在定义的方法或者代码块中使用。

5.外部类只能在方法中,创建实例,才能调用。

6.如果外部类与匿名内部类的成员重名时,就近原则,如果想访问父类,可以用(父类名.this.成员)

关于匿名内部类:

(1)本质还是类

(2)内部类

(3)该类没有名字,但并不代表没有名字,我们可以用getclass()获取看一下,一般是主类名加$数字。

(4)还是一个对象,因为是new出来的。

(5)匿名内部类只能使用一次,并且只能在方法或者代码块中使用。

格式:

        new  类   或者    接口 (参数列表){     类体    };

new A (){};

(1)先写一个接口 Bell 然后定义一个方法

interface Bell{
    void ring();
}

(2)然后定义一个手机类 Cellphone,并且写一个方法alarmclock()

class Cellphone{
    public void alarmClock(Bell bell){
        bell.ring();
    }

(3)在main方法中,创建一个cellphone对象,然后调用alarmclock()方法,并且创建匿名内部类,调用。

 Cellphone cellphone = new Cellphone();
        cellphone.alarmClock(new Bell() {
            @Override
            public void ring() {
                System.out.println("起床了....");
            }
        });

(4)在main方法中,创建一个cellphone对象,然后调用alarmclock()方法,并且创建匿名内部类,调用。

cellphone.alarmClock(new Bell() {
            @Override
            public void ring() {
                System.out.println("wedQA");
            }
        });

注意:如果不知道执行的顺序,可以在运行前,下一个断点,然后一步一步跟踪,看代码。

http://www.dtcms.com/a/51680.html

相关文章:

  • SpringCloud注册中心-eureka
  • 【深度学习CV】【图像分类】从CNN(卷积神经网络)、ResNet迁移学习到GPU高效训练优化【案例代码】详解
  • YOLOv8 自定义目标检测
  • 【原创】C# HttpClient 读取流数据的问题
  • Diffenc: Variational Diffusion With A Learned Encoder
  • 剑指 Offer II 059. 数据流的第 K 大数值
  • < 自用文儿 > DELETED 设置速读 in Ubuntu24
  • python标识符
  • mfc140u.dll是什么?当程序遭遇mfc140u.dll问题:快速恢复正常的秘诀
  • 异步操作返回原始上下文
  • 使用wifi连接手机adb进行调试|不使用数据线adb调试手机|找应用错误日志和操作日志
  • nginx 配置403页面(已亲测)
  • AI自动化应用的影响
  • 第一篇《Oracle 数据泵全解析:高效数据导出与导入》(Data Pump)
  • 学习笔记-INTER CPU 命名
  • 给定计算预算下的最佳LLM模型尺寸与预训练数据量分配
  • xss-flash钓鱼
  • 深入掌握Redis:从原理到实践的全方位指南
  • 【Linux-HTTP协议】HTTP知识延续+HTTP设计改进
  • 论坛系统测试报告
  • C++ std::vector 超详细指南:基础实践(手搓vector)
  • FFMPEG利用H264+AAC合成TS文件
  • 关于tresos Studio(EB)的MCAL配置之GPT
  • Netty笔记6:Netty组件
  • 剑指 Offer II 060. 出现频率最高的 k 个数字
  • [Redis] 终极缓存四连杀:缓存预热、缓存击穿、缓存穿透、缓存雪崩,真的懂了吗?
  • XHR请求解密:抓取动态生成数据的方法
  • 【django初学者项目】
  • Unity3D 布料模拟(Cloth Simulation)详解
  • 计算机网络(1) 网络通信基础,协议介绍,通信框架