前言
在上一节中,我们讲过了利用属性代理
实现SharedPreferences
存取的工具类ShareProperty
。ShareProperty
这个类如此之简洁,还有部分原因是此类中运用了几个非常重要的知识点,那么下面就让我们来一 一 了解下。ShareProperty
类源码大家可以参考以下文章:
Kotlin笔记(54) — SharedPreferences的使用
今天涉及知识:
- 模板类
- 属性代理
- lazy特殊字的使用
- with函数的使用
一. 模板类
模板类的使用,在之前的文章已经讲过了。大家可以参考文章:
Kotlin笔记(28) — 特殊类之模板类
今天主要讲讲T
,Any
和*
的区别。
- Any:
Any
相当于Java
中的Object
,在kotlin
中,所有类都从Any
中派生而来。 - T:
T
是抽象的泛型,在模板中用来占位,外部调用时才能确定T
的具体类型。 - *:
*
表示一个不确定的类型,也是在外部调用时才能确定*
的具体类型。和T
不相同的是:T
是使用在模板定义中,而*
和模板类无关,它出现在单个函数定义的参数列表中,相当于Java
中的?
网友评论