【Java学习笔记之二十六】深入理解Java匿名内部类

Java匿名内部类详解
本文深入探讨Java匿名内部类的使用方法,包括其创建格式、注意事项及如何初始化。通过实例展示如何利用匿名内部类继承抽象类或实现接口,适合Java初学者及开发者进阶学习。

     在【Java学习笔记之二十五】初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客。在这篇博客中你可以了解到匿名内部类的使用、匿名内部类要注意的事项、如何初始化匿名内部类、匿名内部类使用的形参为何要为final。

 

      匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。创建格式如下:

 

new 父类构造器(参数列表)|实现接口()  
    { //匿名内部类的类体部分  }

 

      在这里我们看到使用匿名内部类我们必须要继承一个父类或者实现一个接口,当然也仅能只继承一个父类或者实现一个接口。同时它也是没有class关键字,这是因为匿名内部类是直接使用new来生成一个对象的引用。当然这个引用是隐式的。

 

复制代码
 1 public abstract class Bird {  2 private String name;  3  4 public String getName() {  5 return name;  6  }  7  8 public void setName(String name) {  9 this.name = name; 10  } 11 12 public abstract int fly(); 13 } 14 15 public class Test { 16 17 public void test(Bird bird){ 18 System.out.println(bird.getName() + "能够飞 " + bird.fly() + "米"); 19  } 20 21 public static void main(String[] args) { 22 Test test = new Test(); 23 test.test(new Bird() { 24 25 public int fly() { 26 return 10000; 27  } 28 29 public String getName() { 30 return "大雁"; 31  } 

转载于:https://www.cnblogs.com/DWVictor/p/10507738.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值