当前位置: 首页 > news >正文

深入浅出Java匿名内部类:用法详解与实例演示

匿名内部类(Anonymous Inner Class)在Java中是一种非常有用的特性,它允许你在一个类的定义中直接创建并实例化一个内部类,而不需要为这个内部类指定一个名字。匿名内部类通常用于以下几种情况:

  1. 实现接口:当你需要创建一个接口的实例,但又不想单独为这个实例写一个实现类时。
  2. 继承类:当你需要继承一个类,并添加一些特定的功能,但又不希望为此创建一个新的子类时。
  3. 事件处理:在图形用户界面编程中,经常使用匿名内部类来处理事件。
    以下是匿名内部类的一些基本用法:

实现接口

interface GreetingService {void greet(String message);
}
public class Main {public static void main(String[] args) {GreetingService greetingService = new GreetingService() {@Overridepublic void greet(String message) {System.out.println(message);}};greetingService.greet("Hello, World!");}
}

在这个例子中,我们创建了一个GreetingService接口的匿名内部类实例,并实现了greet方法。

继承类

class Person {public void display() {System.out.println("This is a person.");}
}
public class Main {public static void main(String[] args) {Person person = new Person() {@Overridepublic void display() {System.out.println("This is an anonymous person.");}};person.display();}
}

这里,我们创建了一个继承自Person类的匿名内部类,并重写了display方法。

注意事项

  • 匿名内部类可以访问外部类的成员,包括私有成员。
  • 匿名内部类不能有构造器。
  • 匿名内部类不能定义静态成员。
  • 匿名内部类中的方法不能是抽象的,必须实现其继承的类或实现的接口的所有抽象方法。
    使用匿名内部类可以让代码更加简洁,但它也可能使得代码更难以阅读和理解,因此在使用时需要权衡其优缺点。

http://www.mrgr.cn/news/28119.html

相关文章:

  • 用指针遍历数组
  • 【汇编语言】更灵活的定位内存地址的方法(一)—— 字符操作:and与or指令、ASCII码及大小写转换
  • Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南
  • 释放 PWA 的力量:2024 年的现代Web应用|React + TypeScript 示例
  • 动力商城-03 Idea集成apifox Mybatis-Plus字段策略
  • sql中对象名称要加_的作用
  • 有了数据中台,是否需要升级到数据飞轮?怎么做才能升级到数据飞轮?
  • 包装盒型自动生成插件 Origami Boxshot illustrator盒型自动生成插件
  • 北大对齐团队独家解读:OpenAI o1开启「后训练」时代强化学习新范式
  • SpringCloud-05 Resilience4J 服务降级和熔断
  • 汽车英文单词缩写汇总
  • 【Multi-UAV】多无人机实现凸多边形区域覆盖--Voronoi分割
  • 进程状态、进程创建和进程分类
  • 使用合成数据进行自我提升的扩散模型
  • 【AI视频】复刻抖音爆款AI数字人作品初体验
  • 链表在开空间时候出现的问题
  • 2024年9月15日
  • 添加文字+更改音乐+更改比例+添加背景
  • 【推荐项目】大学生心理预约管理系统
  • 【每日一题】LeetCode 1184.公交站间的距离问题(数组)
  • 二叉树OJ题——二叉树的前序遍历
  • 12. DataLoader的基本使用
  • Java:抽象类和接口(1)
  • 联合条件概率 以及在语言模型中的应用
  • 基于spring的ssm整合
  • CPLEX+Yalmip+MATLAB2022a配置