简单谈谈java中匿名内部类构造函数-转自脚本之家
来源:互联网 发布:珠海远光软件 编辑:程序博客网 时间:2024/06/05 11:53
先看看下面的代码能不能编译通过:
答案是能通过编译,输出3个false。l1很容易理解,就是声明了一个
ArrayList对象,那么l2、l3是什么呢?
l2是一个匿名类内部类对象,继承ArrayList;
l3语句有些古怪,带了两个大括号,其实我们这样写就会明白了,这也是一个匿名内部类的定义,它的代码类似如下:
看到了吧,就是多了一个初始化代码块而已,起到构造函数的功能。当然一个类中的构造代码块可以有多个,下面的代码是可以编译的:
List l4 = new ArrayList(){{}{}{}};
匿名内部类虽然可以用一个初始化代码块来充当构造函数,但其构造函数还是进行了特殊的处理,它在初始化时直接调用父类的同参构造函数,然后在调用自己的代码块,例如:
等价于:
我们来看段示例代码
编译之后得到4个class文件:Test.class,InnerTest.class,InnerTest$1.class以及Main.class。容易看出来,Main.class是测试类的class文件,Test.class是超类Test的class文件,InnerTest.class是InnerTest 的class文件,最值得关注的就是匿名内部类的class文件InnerTest$1.class。
0 0
- 简单谈谈java中匿名内部类构造函数-转自脚本之家
- java中匿名内部类的匿名构造函数是怎么用的?
- java中匿名内部类的构造方法调用
- java内部类之匿名内部类
- Java内部类之匿名内部类
- 使用匿名内部类的构造函数
- java 之匿名内部类
- Java之匿名内部类
- Java之匿名内部类
- java之匿名内部类
- java中匿名内部类
- java中匿名内部类
- JAVA匿名内部类的构造方法
- JAVA简单匿名内部类写法
- java简单匿名内部类练习
- java之构造内部类
- java学习之路----内部类之---匿名内部类
- java内部类之私有内部类、局部内部类、匿名内部类
- 数据库事务隔离级别
- SDAU 搜索专题 11 Oil Deposits
- Linux下安装JDK1.8
- java jsp 页面读取oracle中number类型科学计数的处理方法
- 最长公共子序列(不连续)
- 简单谈谈java中匿名内部类构造函数-转自脚本之家
- 总结二、MFC消息映射
- iOS设置UILabel的行间距并自适应高度
- 欢迎使用CSDN-markdown编辑器
- 获取程序的版本名,版本名,应用名称
- 刷题_day2_vv
- openwrt开发<2>环境搭建
- Hadoop学习笔记(1):WordCount程序的实现与总结
- MyEclipse(以下简称mye)中的.jsp .html的可视化编辑对很多人来说,作用不是很大,反而影响视觉和软件的启动速度。