匿名内部类

本文介绍了一个使用Java匿名内部类实现动物接口的例子,并展示了如何通过匿名内部类传递对象并调用其方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//定义动物接口

interface  Animal{  

void shout(); //定义shout()方法

}

public class Examples{

public static void main (String[]  args){

 //定义匿名内部类作为参数传递给animalShout()方法

animalShout(new  Animal(){

     //定义实现shout()方法

   public  void shout(){

  System.out.println("喵喵喵");

}

    });

}

//定义静态方法animalshout()

public static void animalShout(Animal an){

an.shout(); //调用传入对象an的shout()方法

}

}

在调用animalShout()方法时,在方法参数位置写上new Animal(){},者相当于创建一个实例对象,并将对象作为参数传给animalshout()方法,在new Animal()后面写一对大括号,表示创建的对象为Animal的子类实例,该子类为匿名的。

下面来拆分上面的匿名内部类

//定义动物接口

interface  Animal{  

void shout(); //定义shout()方法

}

public class Examples{

public static void main (String[]  args){

 //定义匿名内部类cat实现Animal接口

class  Cat  implements  Animal{

 实现shout() 方法

public void shout(){

   System.out.println("喵喵喵");

}

}

//定义静态方法animalshout()

public static void animalShout(Animal an){

an.shout(); //调用传入对象an的shout()方法

}

}

animalShout(new Cat()); //调用animalshout()方法传入Cat对象

}

//定义静态方法animalShout()

//定义静态方法animalshout()

public static void animalShout(Animal an){

an.shout(); //调用传入对象an的shout()方法

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值