JAVA内部类示例分析

Java内部类分类:成员/静态/局部/匿名内部类的使用场景 Java内部类详解与使用场景 本文系统介绍了Java四种内部类的特性与用法。成员内部类作为外部类成员,可访问所有外部类属性;静态内部类不依赖外部实例,适合工具类实现;局部内部类定义在方法内,作用域受限;匿名内部类无需命名,适合一次性实现接口。通过迭代器模式、Builder模式等典型示例,分析了各种内部类的适用场景。文章还对比了不同内部类的访问权限、实例化方式和使用限制,帮助开发者选择合适类型。内部类机制增强了Java的封装性和代码组织能力,是面向对象设计的重要工具。 阅读详情

内部类是非常有用的类,如果该内部类只为当前类服务,写成内部类将是非常好的选择,详细看程序中的注释:

import java.util.HashMap;
public class Test1 {
	//声明一个存储"指令"的HashMap,根据"指令"存取不同的值
	private static HashMap hashMap=new HashMap();
	//声明一个静态内部类,并在内部类声明一个抽象方法。
	private abstract static class InnerTest1{
		public abstract void print(String username);
	}
	//在静态块中对HashMap进行初使化,静态块后于静态变量初使化
	static{
		//该HaspMap存放的值是内部类,用于可以根据输入的键取到结果为InnerTest1的内部类对象
		//同时因为InnerTest1为抽象类,这里新声明的类必须继承并实现其print方法
		hashMap.put("hello", new InnerTest1(){
			public void print(String username){
				System.out.println("你好,"+username);
			}
		}
		);
		hashMap.put("bye", new InnerTest1(){
			public void print(String username){
				System.out.println("再见,"+username);
			}
		});
	}
	//根据输入的键,到HashMap中取到不同的InnerTest1内部类对象,然后就可以调用其内部的打印方法.
	public static InnerTest1 getPrinter(String param){
		Object obj=hashMap.get(param);
		if(obj!=null){
			return (InnerTest1)obj;
		}else{
			return new InnerTest1(){
				public void print(String username){
					//输入的值为非"hello"和"bye",在这里处理
				}
			};
		}
	}
	public static void main(String[] args) {
		//通过从HashMap中取得对应的InnerTest1类,再调用其内部方法
		Test1.getPrinter("hello1").print("张三");
	}
}




本文出自:冯立彬的博客



【目标检测】基于yolov5的水下垃圾检测(附代码和数据集,7684张图片) 【目标检测】基于yolov5的水下垃圾检测(附代码和数据集) 阅读详情

相关推荐

硬件原理图分析

文章目录1 硬件原理图分析1.1 MCU部分1.2 NB部分1.3 电源部分 1 硬件原理图分析 1.1 MCU部分 MCU接口部分没啥需要注意,都是常规操作。 1.2 NB部分 U4是用来防静电的。 由于NB的以上几个引脚只支持1.8V,所以这里需要3.3V转1.8V的电路。只要把握住谁改变电平就好分析是怎么实现电平转换的了。 1.3 电源部分 图中的MOS是用来实现USB和电池同时插入时只能USB供电功能的。 ...

木子皿--啥都不会的菜鸟 8175

多态下--------内部类上

多态当中转型存在的风险: 如果被转型的引用类型变量,对应的实际子类型和目标类型不是同一种类型, 那么在转换的时候就会出现ClassCastException(类型转换异常) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408222355457.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzUy

qq_52496081的博客 223

深入解析 ReDoc:从零构建高性能 API 文档的终极指南

ReDoc 是一个强大的开源工具,用于将 OpenAPI 规范转换为高质量、响应式的 API 文档。本文详细介绍了如何使用 ReDoc 构建和自定义 API 文档,包括如何编写支持 OpenAPI 的 API 注解、配置 HTML 页面以加载文档,以及如何利用 ReDoc 的高级功能进行定制。通过实例代码,您将学会如何灵活地展示 API 文档,提升用户体验。无论是初学者还是经验丰富的开发者,都能从本文中获得实用的技巧与方案,帮助快速搭建符合需求的 API 文档界面。

楠搏万的博客 4635

四种内部类详解【内含详细例子】【保姆级教程】

内部类 类里面:成员内部类 ,静态内部类(区别就是是否有static) 方法里面:匿名内部类,局部内部类(匿名内部类没有类名,局部内部类有) ok 学到这里,类的五大组成部分就出来了:属性,构造器,方法,代码块,内部类 class Outer{ //外部类 public class Inner{ //内部类 ( int age = 1; } public void test(){ Inner inner = new I

qq_51990637的博客 814

SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)

二维回波信号分析

zr2006_7的专栏 2万+

永磁同步电机控制笔记:foc控制原理通俗讲义

引言 到此为止,永磁同步电机控制相关文章已经写了7篇,其中simulink仿真系列文章5篇,控制笔记系列文章2篇,恍惚间感觉少了一篇概论,在此插入一篇,也算是对入坑电机控制一年半来的知识梳理。 文章目录引言一、同步电机是怎么转起来的二、什么样的旋转磁场效率最高三、怎么精准控制旋转磁场的方向四、怎样调节dq轴电流 一、同步电机是怎么转起来的 永磁同步电机结构如下: 外围是定子绕组,中间为永磁体,设...

搞电机的博客 2万+

Java之内部类

类的五大成员:属性,方法,构造器,代码块和内部类内部类字如其名就是在类的内部定义一个类这个类就叫做内部类内部类最大的特点是可以直接访问私有属性,并可以体现类与类之间的包含关系。从种类上说,内部类可以分为四类:首先是定义在外部类的成员位置上的普通内部类(没用static修饰)和静态内部类(使用static修饰)然后是定义在外部类的局部位置上(比如说方法体内)的匿名内部类(无类名)、局部内部类(有类名)我们来一个个看: 在这种定义方式下,成员内部类对象依赖外部类对象而存在,即在创建一个普通内部类对象时首先需

y_k_j_c的博客 1184

【NAS系统】DSM7.2部署SVN服务

早期的群晖版本可以在套件中心找到SVN Server直接安装,然后配置仓库和用户。但‌2提到DSM7.0之后套件中心没有SVN了,得用Docker。

qq_38350004的博客 4855

Java中的内部类详解

内部类(Inner Class)是定义在另一个类内部的类。Java中的内部类就像是外部类的一个成员,它可以访问外部类的所有成员变量和方法,即使它们被声明为private。内部类的主要特点可以访问外部类的所有成员(包括私有成员)能够实现"多重继承"的效果提高了封装性可以更好地组织代码结构提高封装性:内部类可以隐藏实现细节访问外部类的私有成员:增强了类之间的联系实现回调机制:特别是匿名内部类避免多继承问题:通过内部类可以模拟多继承效果选择使用哪种内部类的建议成员内部类静态内部类局部内部类。

qq_38955667的博客 1964

实验室LIMS系统选型指南:从赛默飞到金现代,5大主流方案横评

本文深入分析了实验室LIMS系统选型的5大核心维度,包括架构选择、行业适配性、合规性设计、智能化程度和成本模型。通过对比赛默飞、金现代等主流厂商的优劣势,提供实战避坑策略,帮助实验室管理者做出明智决策,提升运营效率和合规水平。

plum99的博客 259

003、高通骁龙Spectra ISP架构深度解析:IFE/BPS/IPE流水线与Chromatix调优实战

摘要: 本文深入解析高通骁龙Spectra ISP架构,重点剖析IFE、BPS、IPE三阶段的流水线协作机制与Chromatix调优实战。通过夜景预览"水波纹"案例,揭示HDR对齐与TNR运动估计的关联性问题,指出ISP调优需关注模块间的时序与带宽约束。文章详解各模块核心功能:IFE负责RAW域处理(HDR合成/校正),BPS专注降噪与细节增强,IPE进行YUV域精处理。针对Chromatix调优,强调参数与寄存器映射关系,并给出LSC网格密度、TNR运动灵敏度、LTM光晕等典型问题的解决方案。最后提出实用

zzfmlxs的博客 233

Java面向对象——内部类(成员内部类、静态内部类、局部内部类、匿名内部类,完整详解附有代码+案例)

Java面向对象——内部类(成员内部类、静态内部类、局部内部类、匿名内部类,完整详解附有代码+案例)。写在一个类里面的类叫内部类,即 在一个类的里面再定义一个类。如,A类的里面的定义B类,B类就称内部类内部类表示的事物是外部类的一部分内部类单独出现没有任何意义什么时候用到内部类?B类表示的事物是A类的一部分,且B单独存在没有意义如:汽车的发动机,ArrayList的迭代器,人的心脏等等内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员

Java技术加油站的博客 1116

手把手教你学Simulink——基于传统电网建模与稳定性分析的场景实例:基于同步发电机的单机无穷大系统建模与稳定性分析

本文详细介绍了使用MATLAB/Simulink进行单机无穷大系统(SMIB)建模与稳定性分析的方法。教程从系统结构设计入手,包含同步发电机、输电线路、无穷大母线等核心模块的建模步骤和参数配置示例。重点讲解了七个关键步骤:项目创建、模块配置、控制系统集成、负载添加(可选)以及仿真运行与结果分析,并提供了具体的MATLAB代码示例。最后通过性能评估指标(功角差、电压跌落、频率偏差)分析系统稳定性,为电力系统动态特性研究提供了实用指导,强调准确参数设置对仿真结果的重要性。

MHD0815的博客 299

关于继承内部类——java编程思想示例程序分析;

关于继承内部类——java编程思想示例程序分析;class Egg2 {    protected class Yolk {        public Yolk() {            System.out.println("Egg2.Yolk()");        }        public void f() {            System.out.println("Egg

赵小刀的文字吧 1065

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java 内部类详解

在 Java 中,我们通常是把不同的类创建在不同的包里面,对于同一个包里的类来说,它们都是同一层次的。但其实还有另一种情况,有些类可以被定义在另一个类的内部,我们把在一个类里面定义的类称为内部类(InnerClass)或嵌套类,把外面定义的类称为外部类(OutClass)或宿主类。也就是说,在类的内部既可以定义成员变量和方法,也可以定义其他的类。public class Outer { // 外部类class Inner { // 内部类// 方法和属性。

流华追梦的专栏 1315

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java内部类赋值_详解 Java 内部类

内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点。从种类上说,内部类可以分为四类:普通内部类、静态内部类、匿名内部类、局部内部类。我们来一个个看:普通内部类这个是最常见的内部类之一了,其定义也很简单,在一个类里面作为类的一个字段直接定义就可以了,例:publicclassInne...

weixin_35998791的博客 5950

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【Java 内部类、匿名内部类、静态内部类的分析】

成员内部类 public class Test { //不对外开放的 class memberInnerClass{ public void memberInner(){ System.out.println("成员内部类"); } } //内部类 对外开放 public class inner{ public String innername; publi..

qq_32035241的博客 323

【Java初学基础04】内部类

Java内部类是定义在另一个类内部的类,包括四种类型:成员内部类(可访问外部类所有成员)、静态内部类(只能访问外部类静态成员)、局部内部类(定义在方法中)和匿名内部类(重点,简化代码)。成员内部类通过外部类.this访问外部类实例,静态内部类通过外部类名访问静态成员。匿名内部类用于快速实现接口或继承类,无需显式定义子类,直接new接口名(){重写方法}即可。内部类提高了封装性和代码组织性,匿名内部类特别适合一次性使用的场景。

2401_86223056的博客 748

Java 匿名类(匿名内部类)

Java匿名类(匿名内部类) 学习的参考博文:无恨之都 1. 初识 匿名类 标准说法: 内部类包括:成员类、局部类、匿名类(匿名内部类)。 匿名类概念: 匿名类可以使你的代码更加简洁 (JDK8之后Lambda更简洁)。 你可以定义一个类的同时对其实例化。 它与局部类很相似,不同的是它没有类名,如果某个局部类你只需要使用一次,就可以使用匿名类。 匿名类是表达式,而非常规的类 匿名类的使用场景:   一个局部类只需要使用一次的时候 2. 通过示例分析局部类和匿名类区别 public class Hell

散场前的温柔的博客 2万+

Java基础-内部类

内部类(inner class) 内部类是定义在一个类中的类,可分为内部类、局部内部类、匿名内部类、静态内部类。 之前一直很纠结为什么需要使用内部类?主要有三个原因: 内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据。 内部类可以对同一个包中的其他类隐藏起来。 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。 > 注释:回调函数就是一个参数,将这个函数作...

sinat_21924579的博客 174

Java 溯本求源之基础(三十二)——内部类

内部类是 Java 提供的强大特性,它使得程序设计更加灵活,尤其在处理一些与外部类紧密相关的逻辑时,能够提供更好的封装性和代码结构。理解并掌握内部类的使用,能够让我们在开发中更加高效地组织代码,提升代码的可维护性和可扩展性。通过合理使用成员内部类、局部内部类、匿名内部类和静态内部类,可以让我们的代码更加简洁、灵活、清晰,并能够解决许多复杂的编程问题。在实际开发中,灵活运用内部类,可以使我们写出更优雅的代码。

程序员LSP 903

Java内部类详解

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:   一.内部类基础   二.深入理解内部类   三.内部类的使用场景和好处   四.常见的与内部类相关的笔试面试题   若有不正之处,请多谅解并欢迎批评指正。  ...

aaron1059的博客 134

JAVA中的匿名内部类

JAVA中的匿名内部类 什么是匿名内部类: 内部类:在类的内部又定义了一个新的类,被称为内部类 内部类的分类: 静态内部类:类似于静态变量 实例内部类:类似于实例变量 局部内部类:类似于局部变量 匿名内部类是局部内部类的一种,因为这个类没有名字而得名,叫做匿名内部类 使用内部类编写的代码,可读性很差,能不用就不用。 尽管如此,我们仍需要学习匿名内部类,主要是为了以后看懂别人的代码。 匿名内部类有两个缺点: ——太复杂,太乱,可读性差 ——类没有名字,以后想重复使用都不行 public class Inn

qq_42843172的博客 173

匿名内部类可以访问private_吃透Java基础四:内部类

一、什么是内部类内部类顾名思义就是在类的内部再定义一个类,内部类依赖于外部类而存在,**内部类可以分为成员内部类、静态内部类、局部内部类、匿名内部类**。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。外部类的访问权限只能是public或包访问权限,而内部类的访问权限可以是public、private、protected、包访问权限都...

weixin_39934675的博客 311
上一篇: 接口和抽象类有什么区别
下一篇: 对一个可进行带括号、加减乘除运算类的分析
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值