Java基础 匿名内部类

匿名内部类

是内部类的简化写法。它的本质是一个 带具体实现的 父类或者父接口的 匿名的 子类对象。
开发中,最常用到的内部类就是匿名内部类了。以接口举例,当你使用一个接口时,似乎得做如下几步操作,

  1. 定义子类
  2. 重写接口中的方法
  3. 创建子类对象
  4. 调用重写后的方法
    我们的目的,最终只是为了调用方法,那么能不能简化一下,把以上四步合成一步呢?匿名内部类就是做这样的快
    捷方式。

说白了,就是为了偷懒实现接口。直接看例子理解:

定义接口:

interfance Product
{
   
  public double getPrice();
  public String  getName();
}

这里面Anonymous类里面的test方法,依赖于Product接口,但是接口显然是没有实现的。如果常规做我们还需要先去写个实现类来实现Product接口。但是,有了匿名内部类,就可以简便得操作了。
基本形式如下:

new 实现接口()
{
   
    //匿名内部类类体部分 --写具体的类实现
}

其中重点注意这一行

/*
1.等号右边:定义并创建该接口的子类对象
2.等号左边:是多态,接口类型引用指向子类对象
*/
Anonymous as= new Anonymous ();

这里又引入多态概念,多态简单来说就是同一个行为通过不同的对象表达出不同的特性。形式就是 父类 name = new 子类(),也是一种简化代码的写法,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值