Java的成员内部类仅仅定义在方法体中,生命周期也随着方法的结束而结束。
当定义在静态方法中时,就是静态内部类;定义在成员方法中时,就是成员内部类。
package com.mode;
public class LocalInnerClass {
private String local = "local";
public void test()
{
String name = "abc";
final String finalName = "final name";
//局部变量前面是不可以加权限控制符的,也不能用static修饰。
//但是可以用final修饰,用来确保这个变量的值不会发生改变。
//所以如果局部类要访问带修饰的局部变量,只能访问用final修饰的局部变量。但是局部类可以访问外部类的所有成员,包括成员变量。
//此类为局部类
//局部类不需要加public,private修饰符,因为这方法执行完 这类就消失了
class LocalClass{
public void testLocal()
{
test2();//可以访问外部类的所有成员变量和成员方法
System.out.println("The memeber variable is " + local);
System.out.println("The local variable is " + finalName);
}
}
new LocalClass().testLocal();
}
public void test2()
{
}
}