You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio JellyFish中Kotlin类运行失败,提示init需返回void

问题解决:Kotlin中init块的语法错误排查

你遇到的错误完全是因为把Kotlin的init初始化块写成了Java风格的函数格式,这是新手学Kotlin时很容易踩的坑。

正确的Kotlin init块写法

Kotlin里的init是类的初始化代码块,不是普通函数,语法要求非常明确:

class YourClass {
    // 正确写法:直接写init,后跟大括号,不需要fun、返回类型、括号
    init {
        // 这里写你的初始化逻辑,比如变量赋值、调用方法等
        val name = "test"
        println(name)
    }
}

对应你遇到的错误,这些是常见的错误写法

  1. 错误写法(导致“init应该返回void”):
    把init当成普通函数,加了fun和返回类型:
    class YourClass {
        fun init(): Unit { // 这是错的!init不是可定义的函数名
            // ...
        }
    }
    
  2. 错误写法(导致“init函数需要标识符”):
    给init加了括号,模仿Java构造函数:
    class YourClass {
        init() { // 错!init块不需要括号
            // ...
        }
    }
    

修复步骤

  1. 找到你代码里的init相关代码,删掉多余的fun关键字、返回类型声明(比如: Unit)
  2. 去掉init后面的括号,改成init { ... }的格式
  3. 确保init块直接放在类的顶层(不要嵌套在其他函数或代码块里)

调整后再运行,这些语法错误就会消失了。

内容的提问来源于stack exchange,提问作者Skymasta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 10:09:52