news 2026/10/17 2:30:49

十一、内部类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
十一、内部类

一、概念

1.内部类:定义在一个类内部的类

// 外部类 class Outer{ // 内部类 class Inner{} }

2.内部类编译后会生成独立的.class文件,命名格式:外部类名:外部类名$内部类名.class

3.内部类可以直接使用外部类私有成员,不破坏外部类的封装性

4.内部类分为4类:成员内部类、静态内部类、局部内部类、匿名内部类

二、内部类的分类

1.成员内部类(类比实例变量)

(1)位置:类以内,方法以外

(2)创建对象:成员内部类对象依赖外部类对象创建

Outer o = new Outer(); // 外部类对象 Outer.Inner i = o.new Inner();// 内部类对象

(3)访问外部类当前对象:外部类名.this.属性名/外部类名.this.成员方法(参数)

作用:访问外部类的属性、调用外部类成员方法

(4)限制:成员内部类不能定义静态属性、静态方法

2.静态内部类(类比静态变量)

(1)位置:类以内,方法以外,使用static修饰

(2)可以定义实例变量,也可以定义静态变量

(3)创建对象:只需要依赖外部类的类名即可

Outer.Inner i = new Outer.Inner();

(4)访问静态内部类只能访问外部类的静态成员(静态属性、静态方法)

3.局部内部类(类比局部变量)

(1)位置:定义在方法内部

(2)创建对象:必须在定义它的方法内部创建,并且在类定义位置之后完成对象创建

(3)访问方法局部变量:局部内部类方法可以访问所在方法的局部变量;JDK8之前要求局部变量必须加final修饰

注意:JDK8.0及以上版本,编译器自动被局部内部类访问的局部变量参加final,这个特性叫语法糖

4.匿名内部类(特殊的局部内部类)

(1)定义要求:必须继承一个类或实现一个接口

(2)特点:一个匿名内部类只能创建该类的一个对象;定义和对象创建写在一起完成

(3)语法

接口名 引用名 = new 接口名(){ // 接口中需要实现的方法 };

(4)优缺点

优点:减小代码量,代码逻辑连贯

缺点:可读性低

案例1:实现接口

interface IA{ void m1(); } public class Test{ public static void main(String[] args){ IA ia = new IA(){ public void m1(){} }; } }

案例2:继承父类,重写方法

public class Test { public static void main(String[] args) { MyClass mc =new MyClass(){ public void method(){ System.out.println("子类重写后的方法..."); } }; mc.method(); } } class MyClass{ public void method(){ System.out.println("父类中method方法/..."); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 2:30:36

两节串联电池主动均衡方案:MP2642GR-Z与PIC32MZ2048EFH144实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/17 2:29:50

第31课:微服务消息驱动(RabbitMQ/RocketMQ)适配与解耦实战

文章目录一、开篇:第30课留下的“同步之痛”二、消息异步解耦的核心价值2.1 同步调用的三大痛点2.2 异步解耦架构设计2.3 Spring Cloud Stream统一编程模型三、RocketMQ核心概念与部署3.1 RocketMQ 5.x架构3.2 消息模型:集群消费 vs 广播消费四、可靠消息…

作者头像 李华
网站建设 2026/10/17 2:28:23

sred-project-organizer - SKILL

name: sred-project-organizer description: Take a list of projects and their related documentation, and organize them into the SRED format for submission. risk: critical source: community SRED 项目组织 SRED 期望项目以特定格式呈现。获取过去一年中已处理的项目…

作者头像 李华