Kotlin 面向对象 - init 块
2026/8/4 20:06:19 网站建设 项目流程

Kotlin init 块

1、基本介绍
  • init 块,是初始化块,用于在主构造函数执行后执行一些额外的初始化逻辑
2、演示
  1. 基本使用
classPerson(valname:String){init{println("初始化中,姓名:$name")}}
valp=Person("张三")
# 输出结果 初始化中,姓名:张三
  1. 可以有多个 init 块,它们会按从上到下的顺序依次执行
classPerson(valname:String){init{println("第一个 init 块")}init{println("第二个 init 块,姓名:$name")}}
valp=Person("张三")
# 输出结果 第一个 init 块 第二个 init 块,姓名:张三
  1. init 块常用于验证构造函数参数
classUser(valemail:String,valage:Int){init{require(email.isNotEmpty()){"邮箱不能为空"}require(age>=18){"年龄必须大于等于 18"}}init{println("创建用户:$email, 年龄:$age")}}
valuser=User("jack@example.com",10)
# 输出结果 Exception in thread "main" java.lang.IllegalArgumentException: 年龄必须大于等于 18
  1. 与次构造函数的关系:主构造函数 → init 块 → 次构造函数执行
classStudent(valname:String){init{println("init 块执行")}constructor(name:String,grade:Int):this(name){println("次构造函数执行,年级:$grade")}}
vals=Student("Bob",3)
# 输出结果 init 块执行 次构造函数执行,年级:3

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询