当前位置: 首页 > Thinking in Java > 正文

第10章–内部类_匿名内部类

匿名内部类,因为没有名字,所以不可能有构造方法.

因而,匿名内部类一般就只有一个实例. 

匿名内部类,只能借助于接口或者其他常规类的构造函数来实现.

匿名内部类通常作为函数的返回值或者参数.

1. 借助于接口实现的匿名内部类

2. 借助于 常规类的 构造函数 生成匿名内部类的唯一对象

   这种方式生成的内部类,其实相当于把协助生成匿名内部类唯一对象的

   那个常规类当成一个接口来使用(可以使用常规类的public方法),同时生成的匿名内部类唯一实例可以使用

   那个常规类的protected方法以及friend方法(方法前面什么都不加).

   但是匿名内部类自己内部新增的public方法 不能被使用,所以这中方式 与继承也不用.

   介于 实现接口和继承之间.

//协助生成内部类唯一对象的 常规类 

当做返回值的匿名内部类.

3. 匿名内部类中直接使用了外部的对象,比如定义匿名内部类的函数的参数,那么这个参数必须是final的.

4. 匿名内部类没有构造函数,可以使用初始化块完成初始化.

 

   下面的例子中,传递给匿名内部类的参数i 不需要 是final的,因为i没有直接在匿名内部类中使用,

   而是传递给匿名内部类的基类使用.

 

打个赏呗

   微信打赏  支付宝打赏


本文固定链接: https://www.jack-yin.com/coding/thinking-in-java/2360.html | 边城网事

该日志由 边城网事 于2013年07月22日发表在 Thinking in Java 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 第10章–内部类_匿名内部类 | 边城网事
关键字: ,

第10章–内部类_匿名内部类 暂无评论

发表评论

快捷键:Ctrl+Enter