Java-局部内部类-内部类(其一)

局部内部类概念

  1. 可以直接访问内部类的所有成员,包含私有的
  2. 不能添加访问修饰符,因为它的地位就是一个局部变量。局部变量是不能使用修饰符的。但是可以使用final修饰,因为局部变量也可以使用final
  3. 作用域:仅仅在定义它的方法或代码块中
  4. 局部内部类–>访问—>外部类的成员【访问方式:直接访问】
  5. 外部类—访问—>局部内部类的成员

访问方式:创建对象,再访问(注意:必须在作用域内)

  1. 外部其他类—不能访问---->局部内部类(因为 局部内部类地位是一个局部变量)
  2. 如果外部类和局部内部类的成员重名时,默认遵守就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问

System.inout.println(“外部类的n2=” + 外部类名.this.n2);

局部内部类代码举例

package com.tao.innerclass;

/**
 * Create By 刘鸿涛
 * 2021/12/26 18:00
 */
public class LocallnnerClass {
    public static void main(String[] args) {
        //演示
        Outer02 outer02 = new Outer02();
        outer02.m1();
        System.out.println("outer02的hashcode = " + outer02);
    }
}
class Outer02{  //外部类
    private int n1 = 100;
    private void m2(){//私有方法
        System.out.println("Outer02 m2()");
    }
    public void m1(){   //方法
        //1.局部内部类是定义在外部类的局部位置,通常在方法
        //3.不能添加访问修饰符,但是可以使用final修饰,因为局部变量也可以使用final
        //4.作用域:仅仅在定义它的方法或代码块中
        String name = "xxx";
        class Inner02{    //局部内部类(本质仍然是一个类)
            //2.可以直接访问外部类的所有成员,包含私有的
            private int n1 = 800;
            public void f1(){
                //5.局部内部类可以直接访问外部类的成员,比如下面
                //7.如果外部类和局部内部类的成员重名时,默认遵守就近原则,如果想访问外部类的成员,则可以
                // 使用外部类名.this.成员  去访问
                //Outer02.this 本质就是外部类的对象,即哪个对象调用了m1,Outer02.this就是哪个对象
                System.out.println("n1 = " + n1 + "外部类的 n1 = \t" + Outer02.this.n1);
                System.out.println("Outer02.this. hashcode = " + Outer02.this);
                //内部类可以访问本类私有方法
                m2();

            }
        }

        //6.外部类在方法中,可以创建Inner02对象,然后调用方法即可
        Inner02 inner02 = new Inner02();
        inner02.f1();

        //局部内部类继承局部内部类
        class Inner03 extends Inner02{

        }
    }
    {//代码块->中的内部类

        class Inner03{

        }
    }
}

局部内部类结论

  1. 局部内部类定义在方法中/代码块
  2. 作用域在方法体或者代码块中
  3. 本质仍然是一个类
  4. 可以把局部内部类想象为一个局部变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值