2.6 Java之内部类(匿名内部类)

内部类

这里写图片描述

  • 枚举类State是线程类Thread的内部类,表明线程的生命周期

内部类概述

这里写图片描述
这里写图片描述

要点:

  • 方法和属性的权限修饰符有四种
  • 外部类只有两种权限修饰符,而内部类作为成员有四种
  • static不能修饰外部类,但能修饰内部类
  • 局部内部类是放在代码块或方法中的,不能有访问控制修饰符,且不能用static修饰
  • 静态结构:类创建,静态结构随之创建
  • 非静态结构:创建对象后才加载非静态结构

重名变量的区分

这里写图片描述
第一个为形参,毋庸置疑
第二个因为this表示调用该方法的对象,即bird,所以是bird的属性
第三个直接指明person类的属性


内部类练习1

这里写图片描述

  • 一个通过外部类调用构造器,一个通过外部类对象调用构造器

  • 关注写法,谁在调用
    这里写图片描述

  • dog类为静态类–》内部的结构(构造器)也是静态的


匿名内部类

局部内部类的使用:
返回实现接口的对象

使用方法一

这里写图片描述

  • 创建实现接口的类,返回该类的对象

使用方法二

  • 书写小技巧
    这里写图片描述

这里写图片描述
注:

  • 一般new+类名,但此处没有类名,用接口名替代,并不能说明接口有构造器

匿名内部类总结

接口Product

这里写图片描述


show方法(在测试类TestProduct内定义)
这里写图片描述

  • 形参为接口,可传入接口实现类的对象,将创建对象的实体的首地址值给引用p

测试类TestProduct

这里写图片描述

接口的一般使用方法

见上图

  • 方式一:实现接口的类和对象都有名字
  • 方式二:只有创建的对象有引用名
  • 方式三:类和对象都没有名字

局部内部类

(测试类TestProduct的方法内定义)

方法一

这里写图片描述

方法二

这里写图片描述

调用局部内部类(测试类TestProduct内)

这里写图片描述
t是测试类TestProduct的对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值