Java文件里的类为 内部类public class outer{public static String staticString; public String string; public void getString(){ } public static class inner{//此类为内部类 public int innerInt; public String innerString; public void innerMethod(){ getString(); //static内部类可以调用外部类的静态方法。 innerString = //staticString;static内部类可以调用外部类的静态变量;}}}//注:static内部类可以调用outer类的static属性和方法。//Java方法里的类为 局部类public class outerTolocal{ public String string; public int localInt; public void OtoLocal(){} public void localMthod(final int m ,int n){ class local{ //此类为局部类 //局部类不需要加public 修饰符,应为这方法执行完 这类就消失了 int methodInt = m;局部类的变量如果要等于外部类的方法的变量,此时外部类的方法变量必须用final 修饰符 如:final int m; void localInner(){ System.out.println("local method"); }} new local().localInner();//在另外的一个类的中不可以创建局部内部类的实例,只能在局部内部类中来创建。}}以下为引用:局部变量前面是不可以加权限控制符的,也不能用static修饰。但是可以用final修饰,用来确保这个变量的值不会发生改变。所以如果局部类要访问带修饰的局部变量,只能访问用final修饰的局部变量。但是局部类可以访问外部类的所有成员,包括成员变量。忘记给你提一点了。局部类只能访问其所在方法中带final关键字的局部变量。局部内部类:在外部类的方法中定义的内部类。如: public class Person(){private int age;public void run(){class Run{}}}类Run就是局部内部类。注意:(1)局部内部类的定义和局部变量的定义一样,不用加限定符,其作用域是为本代码块。(2)它可以访问外部类的实例变量,也可以访问外部类的局部变量,但是外部类的局部变量必须为final的。(3)可以配合interface来使用来做到强制性的弱耦合。(4)在另外的一个类的中不可以创建局部内部类的实例,只能在局部内部类中来创建。