匿名内部类

匿名内部类实际上就是没有名称的内部类

当接口或类里面只有一个抽象方法时,没有必要另建一个类来继承这个类或接口来实例化仅仅一个方法,就直接在main函数里直接现 建一个匿名内部类来重写方法体

new 要实现的接口或抽象类(){ 要重写的方法体   };

一整个就相当于一个父类或接口的子类对象

 调用方法可以直接    .方法名  或者用接口或父类对象来接收    Animal a=new Animal(){  ... };  a.eat();

可以通过匿名内部类访问局部变量,不用加final关键字,java默认此局部变量是final类型

 

同理接口也有匿名内部类

有一个接口Inter,里面有抽象方法method,一般来说要新建一个类c来实例化method方法,然后在main里面调用c类的对象来调用重写的method方法

但是通过匿名内部类就不用在建c类了

 如果想通过function方法调用实例化的method 需要inter类型参数,这时别忘记 new 接口(){..};

一整个就是一个继承接口的子类对象,所以直接把一整个作为参数,如图

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值