注解和反射

主要内容

  1. 注解的使用和定义
  2. 基于运行时的反射对类进行自省(introspect)
  3. Kotlin项目的真实例子

kotlin的注解的使用和Java极其相同,然而自定义注解类的声明语法却天壤之别。同样地,反射的API结构和Java也类似,但细节却不同。

Read more

泛型

主要内容

  1. 泛型函数和类的声明
  2. 类型擦除(erasure)和具现(reified)
  3. Declaration-site and use-site variance

kotlin的泛型类型并不属于类型系统上的实现,而是尽量往Java方向兼容。所以实现形式上很多概念是等价的。

Read more

Operator overloading and other conventions

主要内容

  1. 操作符重载
  2. 指名(special-named)函数:convension的一种实现
  3. 属性委派

类似于Java语言有好几样特性一样,譬如对象实现了java.lang.Iterable接口的可以使用for循环,实现了java.lang.AutoCloseable接口的可以使用try-with-resources语句(Java 8 之后)。Kotlin提供了一种 convertions 技术,实现对操作符的重载。

Read more