局部内部类:
可以直接访问私有属性。
通常定义在方法,不能添加访问修饰符,但可以用final修饰。
作用域仅仅在定义他的方法或者代码块中。
外部类在方法中可以创建内部类的对象,然后调用对象。
如果外部类和内部类成员重名,就近原则。一旦重名:外部类名.this.n1
匿名内部类:
1.基本语法
new 类(参数列表){类体
}
成员内部类
1.可以直接访问外部类的所有属性,包括私有的
2.定义在外部类的成员位置上。
3.可以添加任意的访问修饰符public 等
4.在外部类的方法创建成员内部类对象可以访问成员内部类。
5.外部其他类访问:
(1)外部类的对象实例.new Inner08()
(2)在外部类中写一个方法,可以返回Inner08
静态内部类
1.可以访问外部所有静态成员,但是不能是非静态的
2.可以任意添加访问修饰符
3.外部类要访问静态内部类,可以创建对象再访问
3.外部其他类使用静态内部类
(1)new 外部类名.静态内部类名
new Outeru10.Inner10()
(2) 编写一个方法,返回静态对象类的对象实例。(非静态或者静态方法都可以)