//首先定义一个接口
package nm_innerclass;
public interface Animal {
void eat();
}
//在Cat类中定义匿名内部类并实现接口中的方法
package nm_innerclass;
public class Cat {
private int x=3;
static Animal function()
{
return new Animal() //匿名内部类
{
public void eat()
{
System.out.println("animal");
}
};
}
}
package nm_innerclass; public class Test { public static void main(String[] args) { //cat.function()说明cat类中有一个静态function()方法 //.eat()说明function()这个方法运算后的返回结果是一个Animal对象 //因为只有是Animal对象才可以调用eat()方法 Cat.function().eat(); //下面这种形式是对Cat.function().eat()的分解 //Animal aa=Cat.function(); //aa.eat(); show(new Animal(){ public void eat() { System.out.println("animal eat"); } }); } public static void show(Animal aa) { aa.eat(); } }