首页 > 编程语言 >(随笔)java的几种不同类的介绍和说明

(随笔)java的几种不同类的介绍和说明

时间:2023-08-17 16:34:31浏览次数:45  
标签:部类 java 内部 静态 Class 几种 访问 随笔 final

在Java中,有几种不同类型的类可以用于实现类的嵌套和封装。下面是四种常见的类类型:

  1. 外部类(Outer Class):外部类是最基本的类类型,它独立存在并且不依赖于其他类。外部类可以包含成员变量、方法和其他内部类。外部类不能直接访问内部类的成员,但可以通过创建内部类对象来访问。

  2. 静态内部类(Static Inner Class):静态内部类是一个嵌套类,与外部类的实例无关。它可以直接访问外部类的静态成员,但不能访问外部类的非静态成员。静态内部类可以像普通类一样实例化,并且不需要外部类的实例。

  3. 局部内部类(Local Inner Class):局部内部类是一个定义在方法或作用域块内的类。局部内部类只能在定义它的方法或块内部实例化,并且对外部类和其他方法是不可见的。局部内部类可以访问所在方法的局部变量,但是这些变量必须声明为 final 或 effectively final。

  4. 匿名内部类(Anonymous Inner Class):匿名内部类是一种没有名字的内部类,它直接定义在方法内部或作为参数传递给方法。匿名内部类可以实现接口或扩展抽象类,并且可以直接在创建对象的地方定义。它具有简洁的语法,但不可重复使用,并且无法直接访问外部类的非 final 变量,需要声明为 final 或 effectively final。

这些类的选择取决于具体的需求和设计,在使用时需要根据场景选择最适合的类类型。静态内部类常用于封装辅助性的工具类或数据结构,局部内部类通常用于实现回调或处理特定局部需求,匿名内部类则适用于创建简单的实现或事件处理程序。

标签:部类,java,内部,静态,Class,几种,访问,随笔,final
From: https://www.cnblogs.com/Joseph-Jonardo/p/17638026.html

相关文章

  • JAVA权限管理 助力企业精细化运营
    在企业的日常经营中,企业人数达到一定数量之后,就需要对企业的层级和部门进行细分,建立企业的树形组织架构。围绕着树形组织架构,企业能够将权限落实到个人,避免企业内部出现管理混乱等情况。权限管理是每个企业管理中的重要内容,但在实操中,权限管理面临着诸多考验。因为,权限管理本身不是......
  • 暑假集训随笔4 强连通分量与点双、边双连通分量
    强连通分量一个在有向图中的概念\(强连通的定义是:有向图G强连通是指,G中任意两个结点连通。\)\(强连通分量(StronglyConnectedComponents,SCC)的定义是:极大的强连通子图\)tarjan算法的一些理解注意到如果一些点属于一个强连通分量,那么从其中一个点一定可以“走到”所有的点,......
  • Windows系统下将java程序开机自启
    1.下载使用winsw将可执行程序注册为windows的系统服务。点击右侧release下载对应版本。https://github.com/kohsuke/winsw需要下载对应的exe可执行文件和xml模板2.编写配置文件将下载的exe更名为你的服务名,如:MyAPP.exe。打开sample-minimal.xml<service><id>MyApp......
  • 【Idea】新建时没有Java Class选项
    问题:java文件新建没有java文件  解决方法:文件-项目结构-模块-选择项目,将文件标记为相应的源或资源等 应用-确定后,java文件夹右键新建  ......
  • JAVA SSH 连接服务器 去指定目录 检查文件 并读取json文件内容
    要使用JavaSSH连接服务器并检查文件,可以使用JSch库。以下是一个示例代码:importcom.jcraft.jsch.*;​importjava.io.BufferedReader;importjava.io.InputStream;importjava.io.InputStreamReader;​publicclassSSHExample{publicstaticvoidmain(String[]ar......
  • Java微服务和云原生框架汇总
    概要Java框架https://spring.io/projects/spring-frameworkSpringFrameworkMVChttps://spring.io/projects/spring-bootSpringBoothttps://spring.io/projects/spring-cloud/SpringCloudhttps://cn.dubbo.apache.org/zh-cn/ApacheDubbohttp://s......
  • JavaScript面试题3
    JavaScript31.移动端上什么是点击穿透?点击穿透有3种:点击穿透问题:点击蒙层(mask)上的关闭按钮,蒙层消失后发现触发了按钮下面元素的click事件跨页面点击穿透问题:如果按钮下面恰好是一个有.href属性的a标签,那么.页面就会发生跳转另一种跨页面点击穿透问题:这次没有mask了,直接......
  • (随笔)静态代理和动态代理
    静态代理:在编译阶段就已经确定代理类和真实对象的关系。代理类需要手动编写或生成,为每个真实对象单独创建一个代理类。在代理类中可以添加额外的逻辑,如校验、日志等,增强功能。维护需对代理类和真实对象的修改,增加代码维护成本。在代理类和真实对象之间存在静态关联。动态......
  • 接口返回图片使用什么类型_JavaWeb
    publicResponseEntity<byte[]>icon(){//第三方接口返回的图片验证码ResponseEntity<byte[]>response=restTemplate.getForEntity(url,byte[].class);……//由后端转发此请求,是因为此处需要做一些特殊处理......
  • [java基础知识复习] Java基础知识总结分享一
    写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1,2,3。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。————......