public void function()
{
new AbsDemo()
{
void show()
{
System.out.println("x=="+x);
}
}.show(); //这里不是很理解。你写这个函数的意思很明确啊,就是在function里添加了一个匿名内部类对象,然后在对象里复写了抽象类的接口里的抽象方法,然后.show()调用啊.
其实与正常的实现接口中方法,再调用是一样的,只不过这是用于匿名对象一次性使用.因为只使用一次,所以弄一个匿名对象,而要实现接口,就必须复写接口中方法.所以采用这种方式,如果你不调用show()方法,那这个function方法岂不是完全没有意义.
} |