匿名内部类的使用
来源:互联网 发布:石桥铺数据恢复 编辑:程序博客网 时间:2024/05/16 05:59
匿名内部类通常用于简化代码的编写,
使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口
之前对于new了一个接口或者抽象类不是很理解,
现在知道:
因为没有名字,也就没有构造函数,
所以只能通过显示调用父类函数创建匿名内部类。
还有关于匿名内部类使用外部类变量作为形参传入时需要用final修饰,
在网上看了许多网友的理解,各有其说法,但关键我的
理解是在于final是为了保证变量在外部类和内部类的不可变,
至于是因为机制的问题还是其他,暂不做过多追究
以及关于本文参考来源Nerxious的播客中
“匿名内部类只能实例化一次”的说法不是很理解
匿名内部类的产生:如果不使用匿名内部类来实现抽象方法,需要单独写一个类向上转型实现抽象方法,比较麻烦
例子:
运行结果:eat something
这里就为了实现抽象类里的抽象方法而专门写了一个Child类。
为了简化代码书写,可以使用匿名内部类
例子:
运行结果:eat something
我们直接将抽象类Person中的方法在大括号中实现了
这样便可以省略一个类的书写
并且,匿名内部类还能用于接口上,只要一个类是抽象的或是一个接口,那么其子类中的方法都可以使用匿名内部类来实现
运行结果:eat something
最常用的情况就是在多线程的实现上,因为要实现多线程必须继承Thread类或是继承Runnable接口
Thread类的匿名内部类实现
例子:
运行结果:1 2 3 4 5
Runnable接口的匿名内部类实现
例子:
运行结果:1 2 3 4 5
0 0
- 内部类、匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 内部类的编码及使用,包括成员内部类,局部内部类,匿名内部类
- java 内部类、匿名内部类、嵌套类的使用
- 内部类及匿名内部类的使用实例
- java静态内部类和匿名内部类的使用
- java中的内部类和匿名内部类的使用
- 内部类和匿名内部类的使用
- 匿名内部类的多线程使用
- 使用匿名内部类的构造函数
- 匿名内部类的简单使用
- java匿名内部类的使用注意事项
- 使用匿名内部类的好处
- java security
- C#控制键盘按键的常用方法
- word全选图形
- Spring 整合Quartz 2实现定时任务五:集群、分布式架构实现探讨
- ARM汇编指令MCR/MRC学习
- 匿名内部类的使用
- JS简单实例之删除增加节点
- 七牛云存储之Fetch网络文件
- IoT的那些操作系统
- 公司做的网站如何开启伪静态
- Codevs 3052 多米诺 (二分图染色+二分图最大匹配)
- 脉冲检测法
- Spring mvc 文件上传
- 项目管理经常犯的14个错误