JAVA11_11学习总结(各种内部隐藏类)

今日内容

1.局部内部类

局部内部类
    1)可以访问外部类的所有成员---包括私有成员
    2)jdk7之前(包含jdk7)
        局部内部类访问它本身的方法的局部变量时,局部变量必须使用final修饰!

1.1面试题

局部内部类访问它的成员方法里面的局部变量,局部变量有什么特点?
jdk7包含jdk7之前,局部内部类访问它本身的方法的局部变量时,局部变量必须使用final修饰
    分析
        局部变量随着它的方法而存在,随着方法结束而释放,但是这个局部变量是在一个内部类中,所以前面要加final修饰成为常量,不会立即释放,而是等待GC垃圾回收器的回收
        jdk8包含jdk8之后jvm对这个局部变量进行了优化,省略了final

2.匿名内部类

匿名内部类
    没有名字的类
    应用范围
        在局部位置中---方法定义中或者方法声明上
    格式
        new 类名/接口名(){
            方法重写(){
                ...
            }
        };
    本质---自产自销,自己定义抽象类或接口,自己给出重写来创建对象
        --就是抽象类的具体子类对象
        --就是接口的实现类对象
//匿名内部类应用---抽象类
//测试用的抽象类
public abstract class Demo {
    public abstract void show() ;
}
​
​
​
//外部类
public class Wai {
    //外部类成员方法
    public void method(){
        //匿名内部类---作用相当于Demo demo = new 子类名();给抽象类Demo创建了一个没有子类名的对象
        new Demo(){ //相当于直接给抽象类Demo重写,不需要单独定义子类
​
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五目炒饭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值