final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成final类型,例如:
- 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()
- {
-
- }
- }
复制代码 |