内部类(3)

大家好,今天我们继续来看看内部类,今天我们来学习一下内部类的分类,我们来看看一共有几种,它们有什么作用,那么话不多说,我们直接开始。

9.1 内部类的分类

先来看下,内部类都可以在一个类的哪些位置进行定义

根据内部类定义的位置不同,一般可以分为以下几种形式:

1、成员内部类(普通内部类:未被static修饰的成员内部类和静态内部类:被static修饰的成员内部类)

2、局部内部类(不谈修饰符)、匿名内部类

注意:内部类其实日常开发中使用并不是非常多,大家在看一些库中的代码的时候可能会遇到的比较多,日常开发中使用最多的是匿名内部类.

注:在外部类中,内部类定义位置与外部类成员所处的位置相同,因此称为成员内部类..

9.1.1实例内部类.

即未被static修饰的成员内部类

注意事项

1.外部类中的任何成员都可以在定例内部类方法中直接访问

2.实例内部类所处的位置与外部类变量位置相同,因此也受public, private笔访问限定符的约束.

3.在实例内部类方法中访问同名的成员时,优先访问自己的,如果要访问外部类同名的成员,必须:外部类名称.this.同名成员来访问

4、实例内部类对象必须在先有外部类对象前提下才能创建.

5.实例内部类的非静态方法中包含了一个指向外部类对要的引用.

6.外部类中,不能直接访问实例内部类中的成员,如果要访问必须先要创建内部类的对象.(相当于成员变量,不初始化无法使用)

那么今天分享就到这里,谢谢大家!!!

相关推荐
kakawzw2 分钟前
mybatis源码笔记1——JDBC和整体架构
java·mybatis
sunshine22 girl3 分钟前
Java学习一 环境配置1 安装JDK,配置环境变量
java·开发语言·学习
秋饼5 分钟前
Spring AI Session API 深度实战:从 ChatMemory 平滑迁移到事件溯源的企业级短期记忆
java·ai·技术分享·后端开发
QCodingDev10 分钟前
Spring AI 2.0企业级RAG实战:引用校验、无依据拒答与知识治理怎么做?
java·人工智能·spring·ai
吴声子夜歌11 分钟前
ApacheCommons——commons-math3(科学计算与线性代数)(一)
java·线性代数·算法·apache
砚底藏山河19 分钟前
行情工程实战 M01|存储选型 CSVSQLiteMySQL
java·python·金融·maven
名字还没想好☜24 分钟前
Java 用 LinkedHashMap 三行实现 LRU 缓存:accessOrder、removeEldestEntry 与线程安全
java·后端·安全·spring·缓存
谢亮_vipxieliang38 分钟前
ValidX vs Google Guava Preconditions:验证 vs 断言
java·spring boot·后端·spring cloud·hibernate·guava
吴声子夜歌40 分钟前
ApacheCommons——commons-configuration2(多数据源配置统一管理与热加载)
java·开发语言·算法·apache
星星落进兜里1 小时前
Java虚拟机面试题-补充
java·开发语言