}
public void sleep()...{
System.out.println("Animal sleep!");
}
};
}
}
class TestAnimal...{
public static void main(String[] args)...{
Zoo z=new Zoo();
Animal an=z.getAnimal();
an.eat();
an.sleep();
}
}
}
public void sleep()...{
System.out.println("Animal sleep!");
}
};
}
}
class TestAnimal...{
public static void main(String[] args)...{
Zoo z=new Zoo();
Animal an=z.getAnimal();
an.eat();
an.sleep();
}
}编译运行:

在Zoo类的getAnimal()方法中,我们用return new Animal()返回一个Animal接口类的对象。
但是由于Animal是一个接口,我们首先要实现这个接口,然后才能够实例化一个接口类对象。
所以,在return new Animal()中的方法体就是一个匿名类,上面的java程序完全可以写为:

interface Animal...{
void eat();
void sleep();
}
class