匿名内部类是在创建实例时定义的内部类,无需显式名称。语法:new () { // 匿名内部类体}。优点:简洁、代码重用、局部作用域。缺点:可读性差、调试难度大。实战案例包括覆盖匿名类和实现匿名接口。
Java 匿名内部类创建指南
什么是匿名内部类?
匿名内部类是一种在创建实例的同时定义的内部类。它们没有显式名称,并且通常用于在短的时间内覆盖或实现类或接口。
创建匿名内部类
要在 Java 中创建匿名内部类,请使用以下语法:
new <基类或接口名>() { // 匿名内部类体 };
登录后复制
基类或接口名是匿名内部类将从中继承或实现的类或接口。类体包含匿名内部类的方法和字段的定义。
实战案例
1. 覆盖匿名类
使用匿名内部类覆盖 Runnable
类的 run()
方法:
Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("匿名内部类线程运行"); } }); thread.start();
登录后复制
2. 实现匿名接口
使用匿名内部类实现 Comparator
接口:
List<String> strings = new ArrayList<>(); Comparator<String> comparator = new Comparator<>() { @Override public int compare(String s1, String s2) { return s1.length() - s2.length(); } }; strings.sort(comparator);
登录后复制
优点
- 简洁性:匿名内部类可以直接创建,无需定义单独的类文件。
- 代码重用:它们可用于创建仅使用一次的临时实现。
- 局部作用域:匿名内部类只能在创建它们的类或方法的作用域内访问。
缺点
- 可读性:匿名内部类可能会使代码难以阅读和理解。
- 调试难度:由于匿名内部类没有名称,因此在调试时可能更难跟踪。
以上就是Java 匿名内部类如何创建?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:老板不要肥肉,转转请注明出处:https://www.dingdanghao.com/article/430041.html