首页 / Android 入门教程 / Kotlin 简介

Android 入门教程

Kotlin 简介

本教程共 100 篇 · 第 9 篇 · 更新于 2026-07-28 · 约 6 分钟阅读

AndroidAndroid 入门教程KotlinKotlin 简介Kotlin-firstJava 对比

9. Kotlin 简介

本节目标:搞清楚 Kotlin 是什么、为什么 Android 官方推荐它、它跟 Java 比好在哪,以及该用什么版本。

Kotlin 是什么

Kotlin 是 JetBrains 公司开发的一门编程语言,2011 年首次公开,2016 年发布 1.0 正式版。它运行在 JVM 上,所以能和 Java 完全互操作,但语法更现代、更简洁、更安全。

2017 年 Google 宣布 Kotlin 成为 Android 官方开发语言,2019 年进一步明确 Kotlin-first 政策:官方文档示例 Kotlin 优先、Jetpack 新库优先支持 Kotlin、Compose 只能用 Kotlin 写。

本教程全程 Kotlin,Java 我们只在这里提一句历史背景,后面不再展开。

为什么选 Kotlin

Google 官方列了几个理由,我用大白话翻译一下:

1. 简洁,少写样板代码

Java 写一个数据类要几十行(字段、构造、getter、setter、equals、hashCode、toString),Kotlin 一行:

data class User(val name: String, val age: Int)

数据类自动生成 equalshashCodetoStringcopycomponentN,省下的时间能干正事。

2. 空安全,少崩

Java 最著名的崩溃是 NullPointerException(NPE),Kotlin 在类型系统里把「可空」和「非空」区分开:

var a: String = "abc"
a = null       // 编译报错,String 默认非空

var b: String? = "abc"
b = null       // OK,String? 表示可空
b.length       // 编译报错,必须先判空

很多 NPE 在编译期就被拦下来了。Google 统计,含 Kotlin 代码的 Android 应用崩溃率降了 20%。

3. 互操作

Kotlin 能直接调 Java 代码,Java 也能调 Kotlin。你可以在一个项目里 Java 和 Kotlin 文件并存,慢慢迁移。现有 Java 项目不用重写,加 Kotlin 文件就行。

4. 协程

Kotlin 协程让异步代码写得像同步代码一样直观,比 Java 的回调、RxJava 链好读很多。Android 异步开发现在的标配就是协程,后面专门讲。

5. 现代特性

  • 类型推断:不用处处写类型,编译器能猜。
  • 扩展函数:能给现有类加方法,不改源码。
  • 智能转换:判完类型不用强转。
  • when 表达式:比 switch 强大。
  • 默认参数、命名参数:少写重载。

Kotlin vs Java 对比

特性JavaKotlin
空安全无,全靠自觉类型系统支持
数据类要手写 / Lombokdata class 一行
扩展函数原生支持
协程无(CompletableFuture 凑合)语言级支持
类型推断有限(var 是 Java 10+)全面
智能转换要强转自动
静态成员static 关键字object / 伴生对象
检查异常有(强制 try-catch)没有(不强制)
字符串模板"a" + b"a$b""a${b.c}"
单例手写object 一行

举个例子,Java 写法:

public class User {
    private String name;
    private int age;
    public User(String name, int age) { this.name = name; this.age = age; }
    public String getName() { return name; }
    public int getAge() { return age; }
    @Override
    public boolean equals(Object o) { /* 十几行 */ }
    @Override
    public int hashCode() { /* 几行 */ }
    @Override
    public String toString() { return "User(name=" + name + ", age=" + age + ")"; }
}

Kotlin:

data class User(val name: String, val age: Int)

Kotlin 版本

本教程写作时 Kotlin 稳定版是 2.x 系列。Kotlin 2.0 引入了新的 K2 编译器,编译速度大幅提升。

Android Studio(Quail 2 代)默认带 Kotlin 插件和 Compose Compiler,你不用单独装 Kotlin。新建项目时 build.gradle.kts 里会自动配好版本:

plugins {
    alias(libs.plugins.kotlin.android)
    alias(libs.plugins.compose.compiler)
}

版本号在 gradle/libs.versions.toml 里统一管理,升版本改一处就行。

Note

Compose Compiler 从 Kotlin 2.0 起变成 Kotlin 编译器插件,不再单独发布版本。这解决了以前「Kotlin 版本和 Compose 版本要严格对应」的麻烦。

学 Kotlin 的路径

不必把 Kotlin 全学完才碰 Android。建议这样:

  1. 本部分(ch09-18):变量、控制流、函数、类、集合、空安全、Lambda、协程基础。学完能看懂大部分 Android 代码。
  2. 边写 Android 边补:遇到不懂的语法回头查,比干学语言记得牢。
  3. 进阶:Flow、协程进阶、委托、反射、多平台。用到再学。

官方学习资源:

小结

Kotlin 是 JetBrains 开发、Google 力推的 Android 官方语言,简洁、空安全、互操作、协程是核心优势。本教程基于 Kotlin 2.x。下一节从变量和数据类型开始正式学 Kotlin 语法。