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

匿名内部类(重点)

  • 特点:本质就是一个子类,并会立即创建出一个子类对象  
public class Test {public static void main(String[] args) {//匿名内部类Animal a = new Animal(){@Overridepublic void cry() {System.out.println("狗汪汪汪的叫~");}};}
}abstract class Animal{public  abstract void cry();}
  • 常见使用场景:作为一个参数传给方法

public class Test {public static void main(String[] args) {
//       Swimming s1 =  new Swimming(){
//            @Override
//            public void swim() {
//                System.out.println("狗游得很快");
//            }
//        };
//       go(s1);go(new Swimming(){@Overridepublic void swim() {System.out.println("狗游得很快");}});//设计一个方法,可以接收Swimming接口的一切实现类对象进来参加游泳比赛public static void go(Swimming s){System.out.println("开始----------");s.swim();}}interface Swimming{void swim();}
  • 开发中真实使用场景 
public class Test {public static void main(String[] args) {//搞清楚匿名内部类在开发中的真实使用场景//GUI编程//1.创建窗口JFrame win = new JFrame("登录界面");JPanel panel = new JPanel();win.add(panel);JButton btn = new JButton("李科翰cnm");panel.add(btn);//给按钮绑定单击事件监听器btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {JOptionPane.showMessageDialog(win,"李科翰是sb");}});win.setSize(400,400);win.setLocationRelativeTo(null);win.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);win.setVisible(true);}
}

相关文章:

  • Linux磁盘高级操作
  • 计算机网络数据链路层知识点总结
  • OpenHarmony集成OCR三方库实现文字提取
  • golang中的位运算 << >> ^ 高位数,低位数示例
  • 有趣的css - 两个圆形加载效果
  • MVS net笔记和理解
  • JAVA面试题大全(九)
  • Web(数字媒体)期末作业
  • Centos 7 上安装【Docker】
  • RPC原理技术
  • docker ps显示的参数具体是什么意思
  • java集合类详解
  • 【大数据篇】Hadoop:大数据处理的核心基石
  • 发现未来声音,靠谱的AI配音平台
  • 【云原生】K8s管理工具--Kubectl详解(一)
  • 【技术性】Search知识
  • Python3爬取英雄联盟英雄皮肤大图
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 计算机在识别图像时“看到”了什么?
  • 前端之Sass/Scss实战笔记
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何进阶一名有竞争力的程序员?
  • 正则表达式
  • MyCAT水平分库
  • ​香农与信息论三大定律
  • ​虚拟化系列介绍(十)
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #162 (Div. 2)
  • #pragam once 和 #ifndef 预编译头
  • #考研#计算机文化知识1(局域网及网络互联)
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (c语言)strcpy函数用法
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (pojstep1.3.1)1017(构造法模拟)
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (接口封装)
  • (南京观海微电子)——I3C协议介绍
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (算法设计与分析)第一章算法概述-习题
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net core 6 集成和使用 mongodb
  • .Net Remoting(分离服务程序实现) - Part.3
  • .Net Remoting常用部署结构
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET框架设计—常被忽视的C#设计技巧
  • .sdf和.msp文件读取
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @PostConstruct 注解的方法用于资源的初始化
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [12] 使用 CUDA 加速排序算法