- 局部内部类是定义在外部类的局部位置,比如方法中或者代码块中,并且含有类名。
- 不能添加访问修饰符,因为它的地位就是一个局部变量。局部变量是不能使用修饰符的。但可以使用final修饰,因为局部变量也可以使用final修饰。
- 作用域:仅仅在它定义的方法或代码块中。
- 局部内部类可以直接访问外部类的成员,包括私有成员。
外部类可以访问局部类的成员,访问方式:创建对象再访问(注意:必须在作用域内)。 ```java package test; /**
演示局部内部类的使用 */ public class Main {//外部其他类 public static void main(String[] args) { Outer outer = new Outer(); outer.m1(); } } class Outer {//外部类 private int n1 = 100;//私有属性 private void m2() {//私有方法 System.out.println(“Outer m2()”); } //1.局部内部类是定义在外部类的局部位置,比如方法中或者代码块中,并且含有类名。 public void m1() {//私有方法 //2.不能添加访问修饰符,但是可以使用final 修饰 final class Inner {//局部内部类(本质仍然是一个类)
//4.可以直接访问外部类的所有成员,包含私有的
public void f1() {
System.out.println("n1=" + n1 );
m2();
}
} //当Inner没有final修饰时,可以继承 // class Inner02 extends Inner{ // }
//5. 外部类可以访问局部类的成员,访问方式:创建对象再访问(注意:必须在作用域内)。 Inner inner = new Inner(); inner.f1(); } //3. 作用域:仅仅在它定义的方法或代码块中。 {//代码块 class Inner03{
} }
} ```