本文通过一个例题来加深对匿名内部类的认识

题目:

package 面向对象;

interface In
{
	void method();
}

class Test
{
	//补足代码,通过匿名内部类
	
}
public class UnknownNameClass {
	public static void main(String[] args) {
		Test.function().method();
	}
}

分析这句话Test.function().method();

在Test类中有一个静态的方法function()无参,返回值先不确定,且这个方法会调用method方法,说明function的返回值是一个可以调用method方法的对象,那么就是In的子类。在function应该返回In的一个匿名子类对象。

补充代码如下:

public static In function()
	{
		return new In()
		{
			public void method() {
				// TODO Auto-generated method stub
				
			}
		};
	}

向上向下,正向逆向推理思想是编程中十分的必要,需要加强练习。