美文网首页
java se 局部内部类

java se 局部内部类

作者: 起名字真难难难 | 来源:发表于2020-02-16 12:31 被阅读0次

定义在方法内部
只有当前所属方法可用,出方法不可用
局部内部类想访问外部类所在方法的局部变量,这个局部变量必须是有效final的

 public void method1(){
        int num1=1;
        //局部内部类想访问外部类所在方法的局部变量,这个局部变量必须是有效final的
       //final可省略
       // num1=3;
        class Inner{
            public void method2(){
                System.out.println(num1);
            }
        }
    }

原因:
1、new出来的变量在堆中
2、局部变量跟着方法进栈
3、运行结束随着方法出栈,立即消失
4、new一直在堆中持续存在,直到垃圾收回消失
所以就要保证局部变量消失之后也不会发生改变

匿名内部类

如果实现类或子类只需要使用一次,就可以省略掉该类的定义,改用匿名内部类

接口名称.对象名=new 接口名称(){
    \\覆盖接口中所有抽象方法
}

1、解析格式:new 接口名(){}
(1)new是创建对象动作
(2)接口名称是匿名内部类需实现的那个接口
(3){...}是匿名内部类的内容
2、适用场景
(1)匿名内部类在创建对象时只能使用一次,想多次创建对象且内容一样,要么再写一个匿名,要么定义一个实现类
(2)匿名对象调用方法时,只能调用唯一一次,如果希望同一个对象,调用多次方法,那么必须给对象起名
(3)匿名内部类省略了实现类或子类
匿名对象省略了对象名称

相关文章

  • java se 局部内部类

    定义在方法内部只有当前所属方法可用,出方法不可用局部内部类想访问外部类所在方法的局部变量,这个局部变量必须是有效f...

  • Java内部类

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

  • java之内部类(InnerClass)详解

    参考文章 java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类

  • 内部类

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

  • Java--内部类的分类-1

      在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。 成员内部类(可以使...

  • Java内部类使用

    内部类 在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。 非静态态内部类...

  • 面试官:谈谈你对Java内部类的理解?

    java中的内部类可以分为普通内部类(成员内部类),静态内部类,局部内部类和匿名内部类。 成员内部类 成员内部类就...

  • Java 内部类

    java内部类分为成员内部类、局部内部类、匿名内部类、静态内部类四种。 1.成员内部类 内部类以外部类成员形式定义...

  • Java-几种内部类

    Java内部类分4中:成员内部类、局部内部类、静态内部类、匿名内部类。 1、成员内部类:即作为外部类的一个成员存在...

  • Java内部类

    Java 内部类 分四种:成员内部类、局部内部类、静态内部类和匿名内部类。 1、成员内部类: 即作为外部类的一个成...

网友评论

      本文标题:java se 局部内部类

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