局部内部类:定义在一个方法中的类
注意:在方法定义的内部类中只能访问方法中的final类型的局部变量
例子:
package com.lqh.chapter05; //外部类 public class OuterLocal { // 外部类变量 String out = "outer"; String repeat = "22"; public void outMethod() { final String method = "局部变量"; System.out.println("外部类方法"); // 局部内部类 class Inner { String in = "inner"; String repeat = "88";//不可以定义static修饰的变量 // 内部方法 public void inMethod() { System.out.println("内部类方法"); System.out.println(in);//内部类的变量 System.out.println(out);//外部类的变量 System.out.println(method); } public String getRepeat() { //repeat是内部类的值,而OuterLocal.this.repeat则是外部类的值 return repeat + " "+ OuterLocal.this.repeat; } } //实例化内部化 Inner inner = new Inner(); inner.inMethod(); System.out.println(inner.getRepeat()); } public void visitInMethod() { //在类中访问内部类 outMethod(); } public static void main(String[] args) { //在类中访问内部类 OuterLocal outer = new OuterLocal(); outer.visitInMethod(); } }
输出结果为:
外部类方法
内部类方法
inner
outer
局部变量
88 22