Java基础笔记38——局部内部类

局部内部类:定义在一个方法中的类

 

注意:在方法定义的内部类中只能访问方法中的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

上一篇:springMarchal集成xStream


下一篇:vscode 全局背景图片设置 background