局部内部类
定义在代码块或者方法体中的类,叫做局部内部类
所有的局部变量的约束在局部内部类上均有
定义语法:
[final] class 类名 [extends 父类名] [implements 接口名1,接口名2]
{
}
注意事项:
1,局部内部类的作用域
从定义这个类开始,到遇到的第一个}结束,这个}与是在定义类的时候,的上一级{配对
2,局部内部类可以直接访问外部类的成员
如果发生重名则使用外部类名.this.变量名|外部类名.this.方法名([参数...]); 访问外部类的成员
3,局部内部类不能直接访问与之在同一个方法体中的局部变量
但是如果将同一个方法体中的局部变量用final修饰则可以访问(前提:在局部内部类中没有与需要访问的变量重名的变量)
匿名内部类
就是内部类的一种简写的方式,只不过,匿名内部类只能使用一次
1,
写匿名内部类时,这个内部类一定要继承一个父类或者实现一个接口