内部类

本文详细解析了Java内部类的概念,包括其实例内部类、静态内部类和局部内部类的特点及使用场景。探讨了内部类如何提升代码的优雅性和封装性,以及其在访问外部类成员、控制可见性和编译过程中的独特行为。

内部类:
在一个类 内部 定义的类 称为内部类 内部类允许把一些逻辑相关的类组织在一起 并且控制内部类的可见性 。
内部类可以让程序变得优雅。
成员变量
– 实例变量 定义在类内部
变量: --静态变量 定义在类内部 使用static 关键字修饰
局部变量
– 定义在方法内部的变量

	成员内部类
		-- 实例内部类

内部类: --静态内部类

	局部内部类
		--定义在方法内部的类

内部类的特征:
作为外部类的成员 内部类中可以直接访问外部类(包括private 成员),反之 则不行,可以
声明为 private 默认 protected public 类型,内部类的成员 只在内部类的范围内
有效 ,在内部类中 可以定义外部类访问不到的属性 这样就实现了 比private 还要小的访问权限

	编译含有内部类的类   所生成的class 文件  含有$ 符 ,具体的文件名 还要看内部类的种类

实例内部类:
在创建实例内部类的实例时 外部类的实例必须存在
实例内部类的实例 自动持有外部类的引用 所以 内部类可以直接访问外部类的 所有成员 包括 变量和 方法

静态内部类
静态内部类的实例 不会自动持有外部类的实例引用 所以 没办法直接调用外部类的 实例成员 , 在创建静态内部类
实例的时候 也不必创建外部类的实例

静态内部类 可以直接访问 外部类的静态成员 如果要访问外部类的实例成员 需要通过外部类的实例来访问
局部内部类
只能在当前方法内部使用 在当前方法外 无法直接访问局部内部类
局部内部类 不能定义静态成员

局部内部类 可以访问外部类的成员

匿名内部类
是一种 比较特殊的内部类 这种类 没有名字
需要 继承某个类 或者 实现某个接口 通过它的父类或者接口 来创建

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值