之前给大家介绍了java静态内部类,下面的文章内容要给大家介绍的就是java局部内部类,主要包括了是什么以及特点等方面的知识。
局部内部类是指在一个方法中定义的内部类。
示例代码:public class Test
{
public void method()
{
class Inner
{
// 局部内部类
}
}
}
局部内部类特点:
1、局部内部类和局部变量一样,不可以使用访问控制修饰符(public、private和protected)和 static修饰符修饰;
2、局部内部类只在当前方法当中有效;public class Test
{
Inner i = new Inner(); // 编译出错
Test.Inner ti = new Test.Inner(); // 编译出错
Test.Inner ti2 = new Test()
.new Inner(); // 编译出错
public void method()
{
class Inner
{}
Inner i = new Inner();
}
}
3、局部内部类当中不可以定义static成员;
4、局部内部类当中还可以包含内部类,可是,这些内部类也不可以使用访问控制修饰符(public、private和protected)和static修饰符修饰;
5、在局部内部类当中,可以访问外部类的所有成员;
6、在局部内部类当中,只能够访问当前方法当中final类型的参数和变量。
假如,方法当中的成员和外部类当中的成员同名,那么就可以使用
的形式访问外部类中的成员;public class Test
{
int a = 0;
int d = 0;
public void method()
{
int b = 0;
final int c = 0;
final int d = 10;
class Inner
{
int a2 = a; // 访问外部类中的成员
// int b2 = b; // 编译出错
int c2 = c; // 访问方法中的成员
int d2 = d; // 访问方法中的成员
int d3 = Test.this.d; //访问外部类中的成员
}
Inner i = new Inner();
System.out.println(i.d2); // 输出10
System.out.println(i.d3); // 输出0
}
public static void main(String[] args)
{
Test t = new Test();
t.method();
}
}
以上就是对于java局部内部类的一个介绍了,你都清楚了吧。
请多多的关注奇Q工具网吧,有更多的java基础知识,可以为你分享哦。
推荐阅读: