如果方法的参数被定义为一个接口类型,那么就需要定义一个类来实现接口,并根据该类进行对象实例化。初次之外,还
可以使用匿名内部类来实现接口。
例子:
interface Animal
{
void shout();
}
class Cat implements Animal
{
public void shout(){
System.out.println("喵喵。。。。");
}
}
class Example
{
public static void main(String[] args)
{ //
方法内部类
class Cat implements Animal
{
public void shout(){
System.out.println("喵喵。。。。");
}
}
animalShout(new Cat()); //调用animalShout()方法并传入Cat对象
}
public static void animalShout(Animal an){
an.shout();
}
}
运行结果:
喵喵。。。。
匿名内部类
interface Animal
{
void shout();
}
class Example
{
public static void main(String[] args)
{
animalShout
(new Animal(){
public void shout(){
System.out.println("喵喵。。。。");
}
});
}
public static void animalShout(Animal an){
an.shout();
}
}
运行结果:
喵喵。。。。
匿名内部类的格式:
new 父类(参数列表)或父接口(){
//匿名内部类的实现部分
}