博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rocket - util - GenericParameterizedBundle
阅读量:7174 次
发布时间:2019-06-29

本文共 643 字,大约阅读时间需要 2 分钟。

 
介绍GenericParameterizedBundle的实现。
 
 
1. 基本介绍
 
a. Bundle:继承自Bundle,自定义的数据类型;
a. 参数化:类型化的参数为T params;
b. 通用的:cloneType返回的this.type为子类的类型;
 
2. 实现
 
覆盖了一个cloneType()方法。该方法的实现如下:
a. 获取当前对象的类:this.getClass
b. 获取第一个构造方法:.getConstructors.head
c. 调用这个构造方法,并把参数传入:.newInstance(params)
d. 类型转换:.asInstanceOf[this.type]
 
如果在这个过程中出现问题,则抛出异常:
 
3. 子类的实例
 
 
TLBundle继承自GenericParameterizedBundle:
 
 
这里调用cloneType时:
a. this是tlBundle;
b. getConstructors.head是primary constructor:
c. newInstance(params)传入的params为:TLBundleParameters.emptyBundleParams
d. 类型转换为this.type,this.type为tlBundle.type。这个this.type是随着子类类型的变化而变化的。
 
4. 附录
 
 
 

转载于:https://www.cnblogs.com/wjcdx/p/10933697.html

你可能感兴趣的文章
Lua编程入门-学习笔记1
查看>>
VIM 添加文件头
查看>>
[渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序实现继承
查看>>
4.等待和通知
查看>>
g++编译总结
查看>>
JSP 客户端请求
查看>>
BZOJ 3456 城市规划 ——NTT
查看>>
iOS-GData解析XML
查看>>
StanFord ML 笔记 第五部分
查看>>
hdu2896 AC自动机
查看>>
Perl学习笔记(3)----遍历哈希表的一个容易疏忽的地方
查看>>
接口测试目录导航
查看>>
MIT-6.824 lab1
查看>>
《CLR via C#》读书笔记 之 类型和成员基础
查看>>
设计模式基础(二):目标与原则
查看>>
程序员的自我修养(转)
查看>>
小组项目简介(更改后)
查看>>
oo第一次博客
查看>>
maven3简单配置和使用
查看>>
广工大专用教学质量评价脚本
查看>>