匿名内部类
什么叫匿名内部类呢?其实就是内部类的简写形式,也可以理解为一个带内容的匿名子类对象。
匿名内部类虽然在一定程度上简化了代码,但是其也有很多的弊端,且如果要把一个内部类变成匿名内部类,这个内部类一定要继承一个类或者实现了一个接口。因为这些被继承或者实现的接口都是抽象的,所以匿名内部类如果方法较多时,就比较麻烦,因为需要先复写所有的方法,这样会使得代码的阅读性大大降低。
eg:
abstract class AbsDemo
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>abstract void show()
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
class Outer
{
<span style="white-space:pre"> </span>int x=3;
<span style="white-space:pre"> </span>new AbsDemo()
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>void show()
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>System.out.prinln("x="+x);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}.show();
}