java 匿名内部类

匿名内部类(类没有名字):
1、什么是内部类?
内部类:在类的内部又定义了一个新的类,被称为内部类。
2、内部类的分类:
静态内部类:类似于静态变量
实例内部类:类似于实例变量
局部内部类:类似于局部变量
3、使用内部类编写的代码,可读型很差。能不用尽量不用。
4、匿名内部类是局部内部类的一种,因为这个类没有名字,所以叫做匿名内部类。
5、学习匿名内部类主要是让大家以后在阅读别人代码的时候,能够理解。
并不代表以后都要这样写。因为匿名内部类有两个缺点:
缺点1:太复杂,太乱,可读性差。
缺点2:类没有名字,以后想重复使用,不能用。
class Test01{
// 该类在类的内部,所以称为内部类。由于前面有 static,所以称为“静态内部类”
static class Inner1{
}

// 该类在类的内部,所以称为内部类。没有 static 叫做实例内部类。
class Inner2{
}public void doSome(){// 局部变量int i = 100;// 该类在类的内部,所以称为内部类。局部内部类class Inner3{}
}
public void doOther(){
}

}

public class Test{
public static void main(String[] args){
MyMath mm = new MyMath();
// mm.mySum(new ComputeImpl (), 100, 200); //100+200=300

	// 使用匿名内部类,表示这个 ComputeImpl 这个类没有名字了。// 这里表面上看上去好像是接口可以直接 new 了,实际上并不是接口可以 new 了。// 后面的 {} 代表了对接口的实现。// 不建议使用匿名内部类,为什么?// 因为一个类没有名字,没有办法重复使用。另外代码太乱,可读性太差。mm.mySum(new Compute(){public int sum(int a, int b){return a + b;}}, 200, 300);		// 200+300=500
}

}
// 负责计算的接口,接口有构造方法但不能实例化
interface Compute{
// 抽象方法
int sum(int a, int b);

// 你自动在这里编写一个Compute接口的实现方法
/*class ComputeImpl implements Compute{public int sum(int a, int b){return a + b;}
}*/

}
// 数学类
class MyMath{
// 数学求和方法
public void mySum(Compute c, int x, int y){
int returnValue = c.sum(x, y);
System.out.println(x + “+” + y + “=” + returnValue);
}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web安全测试基础

SQL注入 当下最常用的一个攻击手段,就是通过SQL命令插入到Web表单中或页面请求查询字符串中,最终达到欺骗服务器执行恶意的SQL语句的目的,SQL注入一旦成功,轻则直接绕开服务器验证,直接登录成功,重则将服务…

【Flutter 开发实战】Dart 基础篇:条件循环表达式

Dart 是一门强大的编程语言,其条件和循环表达式在编写灵活、高效代码中起着关键作用。本文将深入介绍 Dart 中的条件表达式、循环表达式、以及关键字如 for、while、do...while、break、continue 等内容,旨在为初学者提供清晰的指导。 1. 条件表达式 D…

Netty Channel 详解

优质博文:IT-BLOG-CN 一、Netty 服务端启动过程 【1】创建服务端Channel; 【2】初始化服务端Channel; 【3】注册Selector; 【4】端口绑定:我们分析源码的入口从端口绑定开始,ServerBootstrap的bind(int in…

(每日持续更新)jdk api之File基础、应用、实战

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

libcurl使用默认编译的winssl进行https的双向认证

双向认证: 1.服务器回验证客户端上报的证书 2.客户端回验证服务器的证书 而证书一般分为:1.受信任的根证书,2不受信任的根证书。 但是由于各种限制不想在libcurl中增加openssl,那么使用默认的winssl也可以完成以上两种证书的双…

可单独设定检测电压/解除电压的电压检测器IC“NV3600”系列和窗口电压检测器IC“NV3601”系列 发布上市

解决各种电压监测难题、用于车载设备和工业设备 可单独设定检测电压/解除电压的电压检测器IC“NV3600”系列 和窗口电压检测器IC“NV3601”系列 发布上市 日清纺微电子发布要上市两款用于车载设备和工业设备的电压检测器IC,一款是可单独设定检测电压和解除电压并可设…

多汗症的病因是什么?

多汗症的病因可以分为多种因素,其中一些是内在的疾病因素,一些是外在的环境因素。 首先,遗传因素是多汗症的一个重要原因。多汗症具有一定的遗传倾向,如果家族中有其他成员也患有多汗症,那么个体患有多汗症的风险可能…

Netty开篇——BIO章(二)

Java BIO 基本介绍 属于传统的 java io编程,内容见java.io包中BIO(blocking I/O) : 同步阻塞,服务器实现模式为个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线…

数字化转型的关键:JVS低代码的列表页导入功能解析

在当今数字化时代,数据的管理和迁移变得至关重要。为了满足广大用户的需求,JVS低代码精心打造了“列表页导入功能”。这个功能专为高效处理列表页数据而设计,为用户提供了简单、便捷的数据导入、导出和模板下载服务。 列表页导入功能 列表页…

1、理解Transformer:革新自然语言处理的模型

目录 一、论文题目 二、背景与动机 三、卖点与创新 四、解决的问题 五、具体实现细节 0. Transformer 架构的主要组件 1. 注意力、自注意力(Self-Attention)到多头注意力(Multi-Head Attention) 注意力到底是做什么的&…

基于JAVA+ssm智能旅游线路规划系统设计与实现【附源码】

基于JAVAssm智能旅游线路规划系统设计与实现【附源码】 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql…

Neo4j恢复

主要记录windows环境下从备份文件中恢复Neo4j, Linux环境同理 备份在上一篇中有介绍,参考: Neo4j备份-CSDN博客 误删数据 为了模拟误删除场景,我们查询Person,并模拟误操作将其进行删除; match(p:Person) return …

SQL基础知识3

一、删除数据 1、delete操作 删除之前一定要查询一下,确保删除的数据是对的 逻辑删除:在表中新增一个字段:flag/status 二、更新数据 本质上的逻辑删除 三、查询数据 1、联表查询 1、内连接 交集的部分叫内连接 小知识:一般…

Spark: 检查数据倾斜的方法以及解决方法总结

1. 使用Spark UI Spark UI提供了一个可视化的方式来监控和调试Spark作业。你可以通过检查各个Stage的任务执行时间和数据大小来判断是否存在数据倾斜。 任务执行时间: 如果某个Stage中的大部分任务很快完成,但有少数任务执行时间非常长,这可能是数据倾…

thinkphp美容SPA管理系统源码带文字安装教程

thinkphp美容SPA管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 基于thinkphp3.23B-JUI1.2开发,权限运用了Auth类认证,权限可以细分到每个功能, 增删改查功能一应俱全,整合了…

LeetCode_5_中等_最长回文子串

文章目录 1. 题目2. 思路及代码实现(Python)2.1 动态规划2.2 中心扩展算法 1. 题目 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入&#…

随机过程——卡尔曼滤波学习笔记

一、均方预测和随机序列分解 考虑随机序列 使用预测 定义 称为的均方可预测部分。 若相互独立,则是均方不可预测的。 定义随机序列的新息序列 V(k)基于样本观测的条件均值为0,即均方不可预测。 V(k)与是正交的,即。 二、卡尔曼滤波 …

目标检测脚本之mmpose json转yolo txt格式

目标检测脚本之mmpose json转yolo txt格式 一、需求分析 在使用yolopose及yolov8-pose 网络进行人体姿态检测任务时,有时需要标注一些特定场景的中的人型目标数据,用来扩充训练集,提升自己训练模型的效果。因为单纯的人工标注耗时费力&…

No Feign Client for loadBalancing defined. 错误解决

1、原因 在使用Spring Cloud Feign进行服务调用时,如果想要利用Ribbon或Spring Cloud LoadBalancer实现客户端负载均衡,需要确保项目中已经引入了对应的依赖。 从Spring Cloud 2020.0及以上版本开始,Ribbon已被弃用,并推荐使用…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例3-4 CSS 立方体

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>CSS 立方体</title> <link href"CSS/style.css" rel"stylesheet" type"text/css"> <style> .box {width: 200px…