Java基础-局部内部类(2)

复制代码
package com.hspedu.innerclaas_;

public class Course413 {
    public static void main(String[] args) {
        // 局部内部类

        /*
         * 1、局部内部类是定义在外部类的局部位置,一般是方法体中
         * 2、局部内部类是可以访问外部类的所有成员(属性、方法),包含私有private的
         * 3、局部内部类不能添加访问修饰符(不能加public了),但是可以用final修饰,说明这个类不能被继承了
         * 4、作用域只在定义的方法体、或者定义的代码块中使用(相当于是局部变量)
         * 5、局部内部类访问外部类的成员,可以直接访问
         * 6、外部类在方法中可以创建局部内部类的对象实例,然后再调用方法即可(必须在作用域内)
         * */

        Outer02 outer02 = new Outer02();
        outer02.m1();

    }
}


// 外部类
class Outer02 {

    private int n1 = 100;

    private void m2() {
        System.out.println("Outer02 private m2");
    }

    public void m1() {
        // 局部内部类
        final class Inner02 {
            public void f1() {
                System.out.println("n1 = " + n1);   // 可以直接访问外部类的私有成员
                m2();
            }
        }

        Inner02 inner02 = new Inner02();
        inner02.f1();

//        class Inner03 extends Inner02 {
//
//        }
    }

    // 代码块
    {
        class Inner03 {

        }
    }
}
复制代码

 

posted @   柯南同学  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示