/**
* 匿名内部类,就是内部类的简写格式
*
* 必须前提:内部类必须继承或者实现一个外部类或是接口
* 匿名内部类:其实就是一个子类对象
*
* 格式:new 父类或是接口名(){子类内容};
*/
abstract class Demo
{
abstract void show();
}
class Outer
{
int num=4;
/*
class Inner extends Demo//匿名内部类不匿名时的样子
{
void show()
{
System.out.prinln("show ..."+ num);
}
}
*/
public void method()
{
new Demo()//匿名内部类
{
void show()
{
System.out.println("show++++"+ num);
}
}.show();
}
}
class TestInner
{
public static void main(String [] args)
{
new Outer().method();
}
}
打印结果:
show++++4
匿名内部类通常的使用场景是:当函数参数是接口类型时,而且接口中的方法不超过3个时,可以用匿名内部类作为实际参数进行传递