美文网首页
内部类(基础)之局部内部类

内部类(基础)之局部内部类

作者: 998584f56259 | 来源:发表于2016-08-17 23:07 被阅读58次

1、在方法中定义的内部类称为局部内部类。与局部变量类似,局部内部类不能有访问说明符,因为它不是外围类的一部分,即局部内部类对包围它的方法之外的任何东西都不可见。

2、局部内部类只能够访问该方法中的局部变量,所以也叫局部内部类。而且这些局部变量一定要是final修饰的常量。所以我们可以看到定义局部内部类时,如果局部内部类中调用形参和方法中定义的变量,则这些变量需要加上final。

3、局部内部类详细实例说明:

public class Outer {
private int s = 100;
private int out_i = 1;

public void f( int k) {
    
       final int s = 200;
       int i = 1;
       final int j = 10;
      
       //定义在方法内部
       class Inner {
           
              int s = 300;// 可以定义与外部类同名的变量

              // static int m = 20;//不可以定义静态变量
              Inner(int k) {
                     inner_f(k);
              }

              int inner_i = 100;

              void inner_f(int k) {
                  //如果内部类没有与外部类同名的变量,在内部类中可以直接访问外部类的实例变量
                  System.out.println(out_i);
                  //可以访问外部类的局部变量(即方法内的变量),但是变量必须是final的
                  System.out.println(j);
                  //如果内部类中有与外部类同名的变量,直接用变量名访问的是内部类的变量
                  System.out.println(s);
                  //用this.变量名访问的也是内部类变量
                  System.out.println(this.s);
                  //用外部类名.this.变量名访问的是外部类变量
                  System.out.println(Outer.this.s);
              }
       }
       new Inner(k);
}

public static void main(String[] args) {
       // 访问局部内部类必须先有外部类对象
       Outer out = new Outer();
       out.f(3);
}
}

相关文章

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Java 内部类、静态内部类、方法内部类(未完待续)

    内部类 什么是内部类?内部类其实就是在一个类中创建的类。内部类有四种: 成员内部类 静态内部类 局部内部类 匿名内...

  • Java 内部类

    1. 内部类 概念:在一个类的内部再定义一个完整的类内部类分为 4 类:成员内部类、静态内部类、局部内部类、匿名内...

  • Java内部类

    Java内部类,简单来说就是将一个类定义在另一个类或者方法里面,主要分为成员内部类,局部内部类,匿名内部类和静态内...

  • java se 成员内部类

    一个类内部包含另一个类身体与心脏分类:1、成员内部类2、局部内部类(匿名内部类) 1、成员内部类 注:内用外可直接...

  • 方法内部类

    定义在外部类方法中的内部类,也称局部内部类方法内部类1.定义在方法内部,作用范围也在方法内2.和方法内部成成员使用...

  • 2020-09-12 Java内部类、匿名内部类(重要)

    内部类 一个类包含另一个类。被包含的类叫内部类。(身体和心脏的关系)分类:1.成员内部类2.局部内部类(包含匿名内...

  • java学习笔记(十三)内部类

    1、概述 内部类即在类的内部在创建一个类 分为成员内部类(直接在类中创建) 局部内部类(在成员方法中创建) 匿名内...

  • Java内部类

    代码中包含成员内部类、内部类的同名变量访问、局部内部类、局部内部类final、匿名内部类

  • Java 内部类

    内部类包括成员内部类、方法内部类、*静态内部类、匿名内部类*。 内部类的作用 由于内部类的实现和外部类没有关系,内...

网友评论

      本文标题:内部类(基础)之局部内部类

      本文链接:https://www.haomeiwen.com/subject/lkfvsttx.html