您的位置 首页 java

Java编程细节——匿名内部类何为匿名?

匿名内部类

先来看一段匿名内部类的代码,

这里需要先定义一个 抽象类

大家应该都知道一个典型的匿名内部类是这样子的,

对比与非匿名内部类,

匿名内部类省去了实现一个 Person的具体类的步骤,

比如说上面的代码可以用这样的非匿名内部类来实现,

匿名内部类的核心

使用匿名内部类,省去了新建一个类的过程。

虽然代码上看起来少了这个类,但其实在 字节码 中,还是有生成一个类的,

比如上面的代码 Demo 类,在编译后会生成两个文件,

Demo.class Demo$1.class

可以用

javap -c Demo$1.class

来看看字节码里做了什么

可以看到,其实Demo$1就是一个标准的类,

相当于一个 Student类,

虽然我们没有继承 Person实现一个具体的类,

可是Java帮我们做了这件事,

如果你的开发经验足够丰富的话,有 反编译 的经验,

就会看到在一些jar包里有大量的12为后缀的 class文件

其实这些都是匿名内部类来着。

所以现在知道匿名跟内部类是什么意思了吧。

文章来源:智云一二三科技

文章标题:Java编程细节——匿名内部类何为匿名?

文章地址:https://www.zhihuclub.com/173285.shtml

关于作者: 智云科技

热门文章

网站地图