Java基础-局部内部类(2)
package com.hspedu.innerclaas_; public class Course413 { public static void main(String[] args) { // 局部内部类 /* * 1、局部内部类是定义在外部类的局部位置,一般是方法体中 * 2、局部内部类是可以访问外部类的所有成员(属性、方法),包含私有private的 * 3、局部内部类不能添加访问修饰符(不能加public了),但是可以用final修饰,说明这个类不能被继承了 * 4、作用域只在定义的方法体、或者定义的代码块中使用(相当于是局部变量) * 5、局部内部类访问外部类的成员,可以直接访问 * 6、外部类在方法中可以创建局部内部类的对象实例,然后再调用方法即可(必须在作用域内) * */ Outer02 outer02 = new Outer02(); outer02.m1(); } } // 外部类 class Outer02 { private int n1 = 100; private void m2() { System.out.println("Outer02 private m2"); } public void m1() { // 局部内部类 final class Inner02 { public void f1() { System.out.println("n1 = " + n1); // 可以直接访问外部类的私有成员 m2(); } } Inner02 inner02 = new Inner02(); inner02.f1(); // class Inner03 extends Inner02 { // // } } // 代码块 { class Inner03 { } } }