java内部类概述及使用方法

前言:

打好基础,daydayup!

内部类 

内部类概述:

内部类是类的五大成分之一(成员变量,方法,构造器,内部类,代码块),如果一个类定义在另一个类的内部,这个类就是内部类

 例:

public class A{public class B{}
}

 内部类种类:

内部类总共有4种形式:1,成员内部类;2,静态内部类;3,局部内部类;4,匿名内部类

1,成员内部类

是类中的普通成员,类似学过的普通成员变量,成员方法。

例:

public class A{public class B{}
}

创建对象格式为:

外部类名.内部类名 对象名 = new 外部类().new 内部类();

例:

A.B a = new A().new B();

 2,静态内部类

有static修饰的内部类,属于外部类自己持有

例:

public class A{public static class B{} 
}

 创建对象格式和创建成员内部类格式一样;和成员内部类区别在于:可以直接访问外部类的静态成员,不可以直接访问外部类的实例成员。

3,局部内部类

局部内部类定义在方法中,代码块中,构造器等执行体中

例:

public class A{public void go(){class B
}
}

局部内部类几乎没什么使用场景

4,匿名内部类

匿名内部类是一种特殊的局部内部类;匿名指的是程序员不需要为这个类声明名字。

 表现格式:

new 类/接口(参数){类的内容
}

匿名内部类本质是一个子类,并会立即创建一个子类对象;内部类最主要的作用为简化代码

如下图:

左边为一般情况,右边为使用了匿名内部类。通过匿名内部类可以省去一个子类的构造,简化了代码。

 

总结:

 内部类可以极大的精简代码,但是简化的同时会导致代码拆分度下降,如果出现bug或分工时会导致挑错困难,要谨慎使用。

总结结束,撒花!

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

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

相关文章

AWS创建快照定期备份

备注:aws有快照定期备份工具,名字叫【生命周期管理器】 选择实例点击创建 点击下一步后设置备份频率等 然后点击创建即可

PCIe学习笔记(1)Hot-Plug机制

文章目录 Hot-Plug InitHot Add FlowSurprise Remove FlowNPEM Flow Hot-Plug Init PCIe hot-plug是一种支持在不关机情况下从支持的插槽添加或删除设备的功能,PCIe架构定义了一些寄存器以支持原生热插拔。相关寄存器主要分布在Device Capabilities, Slot Capabili…

Swift Combine 发布者publisher的生命周期 从入门到精通四

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三 1. 发布者和订阅者的生命周期 订阅者和发布者以明确定义的顺序进行通信,因此使得它们具有从开始到结束的生命周期: …

vue 实现一个持续时间定时器组件

vue 实现一个定时器组件 效果图子组件父组件 效果图 子组件 新建一个timer.vue文件 <template><span :class"{red: string > 600}">{{ string | formatDurationS }}</span> </template> <script>export default {name: timer,pro…

AD域国产替代方案,助力某金融企业麒麟信创电脑实现“真替真用”

近期收到不少企业客户反馈采购的信创PC电脑用不起来&#xff0c;影响信创改造的进度。例如&#xff0c;某金融企业积极响应国产化信创替代战略&#xff0c;购置了一批麒麟操作系统电脑。分发使用中发现了如下问题&#xff1a; • 当前麒麟操作系统电脑无法做到统一身份认证&…

推荐一款开源的跨平台划词翻译和OCR翻译软件:Pot

Pot简介 一款开源的跨平台划词翻译和OCR翻译软件 下载安装指南 根据你的机器型号下载对应版本&#xff0c;下载完成后双击安装即可。 使用教程 Pot具体功能如下&#xff1a; 划词翻译输入翻译外部调用鼠标选中需要翻译的文本&#xff0c;按下设置的划词翻译快捷键即可按下输…

格式工厂怎么转换视频格式?轻松转换!只需几个步骤

在当今数字娱乐时代&#xff0c;视频格式的广泛多样性意味着我们可能需要在不同设备和平台之间进行频繁的转换。而在众多视频转换工具中&#xff0c;格 式工厂凭借其强大的功能和简便的操作&#xff0c;成为了许多用户首选的选择之一。如果您正在寻找一种轻松而高效的方法来转换…

力扣精选算法100道——和为 K 的子数组[前缀和专题]

和为K的子数组链接 目录 第一步&#xff1a;了解题意​编辑 第二步&#xff1a;算法原理 第三步&#xff1a;代码 第一步&#xff1a;了解题意 数组中和为k的连续子数组&#xff0c;我们主要关注的是连续的&#xff0c; 比如[1,1,1],和为2的子数组有俩个&#xff0c;比如第…

闲聊电脑(6)装个 Windows(二)

闲聊电脑&#xff08;6&#xff09;装个 Windows&#xff08;二&#xff09; 夜深人静&#xff0c;万籁俱寂&#xff0c;老郭趴在电脑桌上打盹&#xff0c;桌子上的小黄鸭和桌子旁的冰箱又开始窃窃私语…… 小黄鸭&#xff1a;冰箱大哥&#xff0c;上次说的镜像文件到底长啥样…

2024 token的实现原理:JWT标准,一文搞懂

先看看&#xff0c;用户和服务器的交互 -- 面上是这样子的&#xff1a; token的样子&#xff1a; 你看上图&#xff0c;三个部分组成&#xff0c;每个部分中&#xff0c;由 " . "&#xff0c;逗号分割&#xff1b; token为什么张这个样子&#xff1f; 因为规定了&am…

如何使用 Bard 中的画图功能

Bard 是 Google AI 推出的大型语言模型&#xff0c;它不仅可以生成文本、翻译语言&#xff0c;还可以根据您的描述生成图像。这篇文章将介绍如何使用 Bard 中的画图功能。 步骤 1&#xff1a;打开 Bard 首先&#xff0c;您需要打开 Bard。您可以访问 bard.google.com: https:…

jvm基础篇之垃圾回收[2](垃圾回收算法)

文章目录 版权声明垃圾回收算法核心思想垃圾回收算法的历史垃圾回收算法的评价标准垃圾分类算法分类标记清除算法核心思想标记清除算法优缺点 复制算法核心思想完整案例复制算法的优缺点 标记整理算法核心思想标记整理算法优缺点 分代垃圾回收算法arthas查看分代内存情况核心思…