Model、ModelMap、Map有什么关系?深入底层剖析

Model、ModelMap、Map有什么关系?

  • 首先为形参赋值的对象是同一个对象,也就是BindingAwareModelMap

  • 在这里插入图片描述

  • Model是一个接口

  • 操作模型数据最顶层的接口

  • 在这里插入图片描述

  • Map就是JDK中的Map

  • ModelMap 继承了 LinkedHashMap<String,Object>

  • 在这里插入图片描述

  • LinkedHashMap又实现了Map接口!

  • 所以ModelMap是Map接口的实现类

  • 在来看BindingAwareModelMap
    在这里插入图片描述

  • BindingAwareModelMap继承于ExtendedModelMap,所以观察ExtendedModelMap源码

    • ExtendedModelMap继承了ModelMap所以BingingAwareModel可以创建ModelMap
      在这里插入图片描述

    • 同时又实现了Model接口,也可以实例化Model
      在这里插入图片描述

    • ModelMap又继承了LinkedHashMap也就是实现了Map接口,还能实现Map对象
      在这里插入图片描述

  • 总结

- public interface Model{}             //是一个接口
- public class ModelMap extends LinkedhashMap<String,Object>{}            //继承了LinkedHashMap
- public class ExtendedModelMap extends MOdelMap implements Model{}       //继承了ModelMap又实现了Model接口
  - public class BindingAwareModelMap{}  //这个类对应的子类,就可以去实例化ModelMap也可以实例化Model
    - //因为ModelMap继承了LinkedHashMap所以说,BindingAwareModelMap也可以实例化Map集合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值