Java内部类------局部内部类

来源:互联网 发布:java类的加载顺序 编辑:程序博客网 时间:2024/06/06 07:09

局部内部类

一. 定义:在方法内定义的内部类称为局部内部类

二.特点:

  • 局部内部类不能有成员的访问限制修饰符(因为它不是外部类的一部分)
  • 可以访问当前代码块内的常量和此外部类的所有成员
  • Java7中,局部内部类不能访问同在一个局部的普通局部变量,若要访问,变量需加final关键字修饰
  • 但在Java8中,局部内部类访问的局部变量不必用final修饰

    下面这段代码在Java8中是正确的

package LZQ;public class OutterClass {    //int x = 100;    public void getInner(){        int x = 100;    //getInner()方法中的局部变量x        class Inner{            //定义show()方法打印x 的值            public void show(){                System.out.println("getInner方法中局部变量x为:" + x);            }        }        //创建内部类对象        Inner i = new Inner();        i.show();    }}package LZQ;public class Main {    public static void main(String[] args) {        //创建外部类对象        OutterClass o = new OutterClass();        //调用外部类中的getInner()方法        o.getInner();    }}

运行结果:
这里写图片描述


三. 优点:

  • 它对外面的所有类来说都是隐藏的,即使是它所属的外部类,仅有它所在的方法知道它
  • 它可以访问它所属外部类中的数据
0 0
原创粉丝点击