内部类
本地内部类:定义在方法当中的类
public class TestDemo3 { public void func() { class Test { public int a; } //缺点只能在方法当中使用 } }
实例内部类:
1.在实例内部类当中 不能定义一个静态的成员变量!非要定义,只能定义1个静态常量
当我们在实例内部类当中定义一个静态成员变量时 发生报错。如果非要定义,那么只能定义一个静态常量
内部类里面可以实现构造方法
2.如何实例化,实例内部类的对象
外部类名.内部类名 变量 = 外部类对象的引用.new 内部类();
3.实例内部类当中 如果包含了和外部类相同的成员变量,那么如何在实例内部类当中访问?
实例内部类当中 包含两个this 一个是外部类的this 一个是自己的this
代码实现:
运行结果
静态内部类
内部类 被 static 修饰
1.如何实例化静态 内部类 对象
代码实现
运行结果
2.如何访问外部类的普通成员变量
这里我们发现直接访问外部类的普通成员变量是无法做到的,我们要如何才能够访问呢?
代码实现
运行结果
匿名内部类