一、匿名内部类
之前的所有类都有自己的名字,但是有时候如果某个接口的实现类(或者某个父类的子类)只需要使用一次,此时这样的类如果我们单独定义出来则需要单独为其创建一个“*.java”文件。那么感觉浪费,为了避免这样的浪费可以将这个只使用一次的类定义成匿名内部类直接在需要的地方使用。
如果要使用匿名内部类必须在抽象类或者接口的基础上实现。匿名内部类一般可以作为方法的参数传递,也可以在方法中直接定义。
DEMO:基本的匿名内部类
![](https://img.haomeiwen.com/i19872357/cf0350aaae086fe6.jpg)
![](https://img.haomeiwen.com/i19872357/ddf8d335ae8eb954.jpg)
![](https://img.haomeiwen.com/i19872357/141c1e4769497b55.jpg)
![](https://img.haomeiwen.com/i19872357/7649ee6d0c3e51c2.jpg)
DEMO :匿名内部类对象作为方法的实际参数传递
![](https://img.haomeiwen.com/i19872357/b7116cec96d535b0.jpg)
![](https://img.haomeiwen.com/i19872357/27bbf1c9ceb44b8f.jpg)
![](https://img.haomeiwen.com/i19872357/dc0c42ab4e5bae91.jpg)
以上就是匿名内部类作为方法的实际参数传递。
这里的话我也将我之前在学习java过程中用到的一些学习资料整理成了文档,以及我自身之前的一个面试文案和知识点补充,有需要的朋友可以加我的扣扣学习交流群697888503,这里也希望大家最终都能够学有所成,学习编程不是一天两天的功夫,勤能补拙才是硬道理,祝大家最终都能成为一名合适开发攻城狮。
DEMO :在方法中直接创建匿名内部类对象
![](https://img.haomeiwen.com/i19872357/88ef6997b57bd138.jpg)
![](https://img.haomeiwen.com/i19872357/dcd18b42bab0d8ac.jpg)
![](https://img.haomeiwen.com/i19872357/59abeaef1fa71e6b.jpg)
![](https://img.haomeiwen.com/i19872357/3d341ee277bda383.jpg)
总结:
1、匿名内部类对象需要在抽象类或者接口的基础.上实现
2、匿名内部类对象可以作为方法的参数传递也可以直接在方法体中创建
3、方法中的匿名内部类可以直接访问方法的参数和局部量吗?
答:在jdk1.8之前需要使用final修饰方法的参数和局部变量,在之后可以直接访问。
网友评论