内部类定义在局部时:(说的是定义在类中方法中的时候)

内部类定义在局部时:(说的是定义在类中方法中的时候)

1.不可以被成员修饰符所修饰

2.可以直接访问外部类中的成员====》因为还持有外部类中的引用

注意:这里有一个坑

	但是,不可以访问它所在的局部中的变量。。。只能访问被final修饰的局部变量 这里只是针对 jdk8以下的,jdk8+以后的 不用被final修饰 也可以 使用

示例代码 这是jdk 1.8环境下

public class InnerClassDemo02 {
    public static void main(String[] args) {
        new OClass().method();
    }
}

class OClass{

    int x =3;


    void method(){
		//局部变量
        int  y =88;
        
         class  Inner{

            void Function(){
                System.out.println(y);
                
            }
        }
        new Inner().Function();

    }

}

在这里插入图片描述

如果在jdk1.7环境下运行

在这里插入图片描述

加上final 后就可以了。。这里是个坑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值