java笔记 匿名内部类2 成员内部类 静态内部类

匿名内部类细节
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
匿名内部类实践
1.当做实参直接传值,简洁高效
在这里插入图片描述
传统方式要先写一个类–>实现IL,如下
在这里插入图片描述
在这里插入图片描述
2.匿名内部类涉及 继承,多态,动态绑定,内部类
在这里插入图片描述

package 内部类;

public class 匿名内部类测试
{
    public static void main(String[] args)
    {
        
        CellPhone cellPhone = new CellPhone();
         
        cellPhone.alarmclock(new Bell()
        {
            //韩老师解读:
            //1.传递的是实现了Bell接口的匿名内部类 InnerClassExercise02$1
            //2. 重写了 ring
            //3. Bell bell = new Bell() 运行起来实际上类似于此段代码
//            {
//                @Override
//                public void ring()
//                {
//                    System.out.println("小伙伴下课了");
//                }

            @Override
            public void ring()
            {
                System.out.println("懒猪起床了");
            }
        });
        
        cellPhone.alarmclock(new Bell()
        {

            @Override
            public void ring()
            {
                System.out.println("小伙伴下课了");
            }
        });
        
    }
}

interface Bell
{
    void ring();
}

class CellPhone{
    public void alarmclock(Bell bell){
        bell.ring();
    }
}

成员内部类
成员内部类是定义在外部类内的成员位置上,这是区别于局部内部类和匿名内部类的主要特点!!
在这里插入图片描述
成员内部类的使用
在这里插入图片描述
上图代码控制台结果如下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
外部其它类 使用 成员内部类的三种方式,本质及常用的只有前两点
在这里插入图片描述
在这里插入图片描述
静态内部类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
静态内部类 , 是可以可以通过类名直接访问的(前提是满足访问权限)
在这里插入图片描述
外部其他类访问静态内部类
在这里插入图片描述
在这里插入图片描述
练习题
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值