局部内部类

Posted qiudajiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了局部内部类相关的知识,希望对你有一定的参考价值。

局部内部类

示例代码

//外部类
public class Outer {
    private String name = "qiudajiang";
    private int age = 10;
    //外部类方法
    public void showOuter(){
        //局部变量
        String address = "xxx";
        class Inner{
            //局部内部类属性
            private String phone = "123";
            private String email = "qdj168@qq.com";
            public void showInner(){
                //访问外部类属性
                System.out.println(Outer.this.name);
                System.out.println(Outer.this.age); //如果showOuter方法是一个静态方法,则需要实例化一个外部类对象,才能访问外部类属性
                //访问内部类属性
                System.out.println(this.email);
                System.out.println(this.phone);
                //访问局部变量,jdk1.7要求,变量必须是常量 final ,jdk1.8会自动添加final
                System.out.println(address);
            }
        }
        //想要调用showInner方法,需要创建一个局部类对象
        Inner inner = new Inner();
        inner.showInner();
    }
}

测试代码

public class OuterTest {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.showOuter();
    }
}

 

以上是关于局部内部类的主要内容,如果未能解决你的问题,请参考以下文章

局部内部类

java 局部内部类

java内部类之成员内部类之局部内部类

局部内部类访问它所在方法的局部变量时,要求该局部变量必须声明为final的原因

局部内部类final文章1

Java学习笔记3.8.2 内部类 - 局部内部类