在一个类的内部再定义一个完整的类,内部类也会生成独立的字节码class文件($符号分割);
内部类可以访问外部类的私有方法;
-
成员内部类
与实例变量,实例方法同级别。
在测试类中先外部类实例化,然后内部类实例化;
在测试类中⬇️:
如果外部类和内部类存在同名,会优先输出内部类属性当同名时要想输出外部类属性:Outer.this.name;
成员内部类中不能定义static静态成员; 除static final外; -
静态内部类
static class Inner{}
与外部类同级别;可以创建static成员;
在调用外部类属性的时候:要先实例化;
在调用静态内部类的时候:要Inner.
调用内部类的时候:直接调用;
在测试类中:
==Outer.Inner inner= new Outer.Inner();==然后调用方法 -
局部内部类
-
匿名内部类



