• 内部类(2)


    内部类(2)

    局部内部类

    如果一个类是定义在一个方法内部的,那么就是一个局部内部类

    “局部”,只有所属方法才能调用。

    定义格式: 修饰符 class 外部类名称{

             修饰符 返回值类型 外部方法名 (参数列表){

                     class 局部内部类名称 {

                               //....

                    }

           }

    }

     

    public class juOter {
            public void otermethod(){
                final int num2=12;
                class Inner{//局部内部类(格式)
                    int num = 10;
                    public void intermethod(){
                    System.out.println(num);
    
                    System.out.println(num2);
                    /*
                    局部内部类子想要访问成员方法的局部变量,则该变量必须是有效final的(即只赋值一次,不在变化)
                    在jdk8以上版本不必一定写final关键字只需要赋值一次即可
    
                    原因:
                    局部变量和局部变量创建对象后所在的内存区不同,前者在栈内存中,后者在堆内存中
                    前者随方法的结束而凋亡,后者有垃圾回收机制自动回收(存在时间更长),所以只有
                    当前者为常变量时,后者可以进行复制保存而存储更长时间。
                     */
                }
    
            }
            Inner inner = new Inner();
            inner.intermethod();
            //只能在方法中使用局部内部类
        }
    }
    
    /*
    权限修饰符:
    1.外部类:public/(留空)
    2.成员内部类:public/protected/(留空)/private
    3.局部内部类:(留空)
     */
  • 相关阅读:
    vue
    生成数组方式
    绕过CDN查找真实IP方法
    SQL注入WAF绕过
    缓冲区溢出的保护机制
    Redis未授权漏洞
    AFL 漏洞挖掘
    python多线程与多进程
    Java8四大核心接口示例
    @Autowired抱空指针异常解决方案
  • 原文地址:https://www.cnblogs.com/susexuexi011/p/13811598.html
Copyright © 2020-2023  润新知