个人理解,不对的地方希望大家指正
class A
{
void show()
{
System.out.println("A");
}
}
class Out
{
public void function()
{
new A()
{
void show()
{
System.out.println("匿名内部类");
}
}.show();
}
}
class Test
{
public static void main(String[] args)
{
new Out().function();
}
}
1、Test类加载,主函数加载;
2、Out类加载,在堆内存开辟空间分配内存地址;
3、调用function方法;
4、类A加载,在堆内存开辟空间;
5、匿名内部类加载,在堆内存开辟空间;
6、覆写show方法,匿名内部类调用覆写后的show方法。
|