内部类(3)

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

9.1 内部类的分类

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

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

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

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

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

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

9.1.1实例内部类.

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

注意事项

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

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

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

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

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

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

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

相关推荐
清心歌10 分钟前
CopyOnWriteArrayList 实现原理
java·开发语言
Java成神之路-31 分钟前
通俗易懂理解 Spring MVC 拦截器:概念、流程与简单实现(Spring系列16)
java·spring·mvc
zhanghongbin0132 分钟前
AI 采集器:Claude Code、OpenAI、LiteLLM 监控
java·前端·人工智能
计算机毕设vx_bysj686934 分钟前
【免费领源码】77196基于java的手机银行app管理系统的设计与实现 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
java·mysql·智能手机·课程设计
忘梓.35 分钟前
墨色规则与血色节点:C++红黑树设计与实现探秘
java·开发语言·c++
hhh3u3u3u35 分钟前
Visual C++ 6.0中文版安装包下载教程及win11安装教程
java·c语言·开发语言·c++·python·c#·vc-1
星河耀银海38 分钟前
C++ 模板进阶:特化、萃取与可变参数模板
java·开发语言·c++
格鸰爱童话1 小时前
向AI学习项目技能(五)
java·学习
程序员萌萌1 小时前
Java之mysql实战讲解(三):聚簇索引与非聚簇索引
java·mysql·聚簇索引
好家伙VCC1 小时前
**发散创新:基于Python与ROS的机器人运动控制实战解析**在现代机器人系统开发中,**运动控制**是实现智能行为的核心
java·开发语言·python·机器人