前言
在Java中调用某个方法时,如果该方法的参数是一个接口类型,除了可以传入一个参数接口实现类,还可以使用匿名内部类实现接口来作为该方法的参数。
匿名内部类其实就是没有名称的内部类,在调用包含有接口类型参数的方法时,通常为零简化代码,不会创建一个接口的实现类作为方法参数传入,而是直接通过匿名内部类的形式传入一个接口类型参数,在匿名内部类中直接完成方法的实现。
示例
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
interface Animal{
void shout();
}
public class Example21 {
public static void main(String[] args) {
String name= "小花" ;
//定义匿名内部类作为参数传递给animalShout方法
animalShout( new Animal() {
//实现shout()方法
public void shout() {
//jdk8开始,局部内部类、匿名内部类课堂访问非final的局部变量
System.out.println(name+ "喵喵。。。" );
}
});
}
//定义静态方法animalShout(),接收接口类型参数
public static void animalShout(Animal an) {
an.shout(); //调入传入对象an的shout()方法
}
}
|
注意:
在调用animalShout()方法时,在方法的参数位置上写上new Animal(){},这相当于创建了一个实例对象,并将对象作为参数传给animalShout()方法。在new Animal()后面有一对大括号表示创建的对象为Animal的子类实例,该子类是匿名的
总结
到此这篇关于Java匿名内部类的文章就介绍到这了,更多相关Java匿名内部类内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!
原文链接:https://blog.csdn.net/qq_45938466/article/details/108290353
相关文章
猜你喜欢
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-29 69
-
windows下编辑的文件传到Linux后会出现^M怎么办?
2025-05-27 78 -
2025-05-29 91
-
2025-05-29 33
-
2025-06-04 64
热门评论