匿名内部类是怎么回事
来源:互联网 发布:淘宝关注链接怎么获取 编辑:程序博客网 时间:2024/04/19 18:14
匿名内部类真的很神秘的,不过,这种类就喜欢做一些神秘的东西。想想,匿名内部类,根本就没有名,怎么写它的构造函数呀?如里是一个默认的构造函数,如果带上了参数这又应该怎么办?很神秘的东西。
看一段代码:
abstract class B{public B(int i){System.out.println("i="+i) ;}abstract public void play() ; } class Bout{public void show(int a,final int b){ new B(a){public void play() {int c = b ;}};}}
这个代码编译不会有问题,会出现三个class文件的,对于Bout类就产生了两个class文件(Bout.class与Bout$1.class),这里面其实有些很隐含的东西的,反编译一下class文件来看看:
对于Bout类:
这里竟调用了Bout$1的三个参数的构造函数。
看看Bout$1真的有三个参数的构造函数吗?
里面真的有三个参数的构造函数呀,还调用了一个父类的一个参数构造函数了。这里编译器还给它生成了一个val$b的变量,把第三个变量放到这里面去了,这个就实现了构造函数的功能了;再看那个调用了父类的那个参数,其实就是第二个参数。就是这样子了。看多几眼上面的图,就明白。- 匿名内部类是怎么回事
- 内部类、匿名内部类
- 内部类、匿名内部类
- 内部类,匿名内部类
- 内部类(匿名内部类)
- 内部类 ---匿名内部类
- 内部类,匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类,内部类,匿名内部类
- 匿名内部类,回调...
- 关于匿名内部类
- 匿名内部类
- JAVA匿名内部类
- 返回匿名内部类
- java 匿名内部类
- 匿名类内部类
- ZOJ 1708||hdu 1035 Robot Motion (链式前向星,dfs)
- Android本地数据存储之SQLite关系型数据库 ——SQLiteDatabase
- Nginx 0.7.x + PHP 5.2.6(FastCGI)搭建胜过Apache十倍的Web服务器(第4版)
- 修改wamp的apache默认的80端口以及www目录
- 忍辱大功德
- 匿名内部类是怎么回事
- 多继承条件下的虚函数列表及其内容
- vb.net structure结构类型
- windows server 2008安装桌面风格(桌面体验)
- luajit调用api函数实现base64编解码
- 八德是做人的基础
- poj1363 Rails(栈的应用)
- 【资源相关】android默认打开图片以及分享图片
- 内核的同步方式