1. 内部类的分类
内部类就是在一个类中又定义一个类。
- 静态内部类:static修饰的内部类。
- 普通内部类:不用static修饰的内部类。
- 局部内部类:在类中方法内定义的内部类。
2.内部类的基本语法
3.内部类的特点
- 内部类可以访问其所在类的属性(包括私有属性),内部类创建自身对象需要先创建其所在类的对象。
- 普通内部类里面不能定义static属性和方法
- 原因:普通内部类的存在依赖于外部类的对象,static随着类的加载而加载,产生了冲突。
- 静态内部类可以定义static
static内部类是内部类中一个比较特殊的情况,Java文档中是这样描述static内部类的:一旦内部类使用static修饰,那么此时这个内部类就升级为顶级类。也就是说,除了写在一个类的内部以外,static内部类具备所有外部类的特性。
通过这个例子我们发现,static内部类不仅可以在内部定义static元素,而且在构建对象的时候也可以一次完成。从某种意义上说,static内部类已经不算是严格意义上的内部类了。
- 局部内部类
局部内部类目前没有找到很好的例子去理解学习,后续工作中遇到了会回来补习的。原谅我现在很菜!见识少。
4.内部类的使用案例
这几天阅读源码发现tl在定义一些常量配置的的发现了内部类的使用,故大概学习了一下。