局部内部类的使用

说明:

  1. 局部内部类定义在外部类的局部位置,比如在方法中。
  2. 局部类可以直接访问外部类的所有成员,包含私有的。
  3. 局部类不能添加访问修饰符,因为本身就是一个局部变量,局部变量不能使用修饰符,但是可以用final修饰。
  4. 外部类要访问局部类,可以先在局部类所在的方法中创建实例或其他操作,而后在外部类中通过对象调用这个局部类所在的方法。
  5. 外部类和局部类重名时,就近原则,但可以通过外部类名.this.成员去访问外部类成员。

上代码:

public class OuterClass {
    int x=3;
    public void method2(){
        System.out.println("外部的方法");
    }
    public void method1(){ //这就是局部内部类所在的方法,也是它的作用域
        int x=5;
        class jubu{
            public  void metho03(){
                System.out.println(x);//5 就近原则
                System.out.println(OuterClass.this.x);//3
            }

        }
        jubu j1 = new jubu();  //在这里实例化局部对象
        j1.metho03();
        System.out.println(j1.getClass()); //class Test.OuterClass$1jubu

    }
    public static void main(String[] args) {
        OuterClass outerClass = new OuterClass();
        outerClass.method1();//外部类对象直接调用成员内部类所在的方法

    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值