java中的四种内部类
这节我们来说一下java中的内部类,首先我们知道java中有四种常见的四种内部类,
分别是:
1,静态内部类
2,实例内部类
3,本地内部类
4,匿名内部类
今天让我们一起走进它们
1,静态内部类
定义静态内部类
初始化内部类对象,并打印内部类
打印结果。
那这里就难免会遇到一个问题,在内部类中能否调用外部类的变量?
不难看出被static修饰的可以直接打印,而没有被修饰的不行,必须要用被外部类定义
的out来引用。
2,实例内部类
实例内部类的实例化
实例内部类的初始化,并用show3方法打印
打印的结果是:
这里要注意的是实例内部类中不能定义static修饰的变量
为什么在实例内部类中定义static类型的变量,必须定义final修饰的立即数?
(1) 内存中执行时是先 static --》实例方法,如果再static 不允许
(2)实例内部类的设计意义:每一个实例内部类 必须有一个外部类对象,依赖外部对象。
假设 static Innerclass in = new Innerclass();
OuterClass2.Innerter.in = new InnerClass();
InnerClass.in 拿到了实例内部类的一个实例
违背了设计意义
3,本地内部类
未完待续...