为了账号安全,请及时绑定邮箱和手机立即绑定

具有私有 java 构造函数的 Kotlin 顶级函数

具有私有 java 构造函数的 Kotlin 顶级函数

海绵宝宝撒 2023-06-21 16:10:06
我有 kotlin 文件,其中包含顶级函数和指定的名称,以便从 java 代码中使用它:实用程序.kt@file:JvmName("Utility")package com.examplefun someUtilityFunc() {    // ignored}我可以Utility在 Java 代码中实例化类:Main.javapackage com.example;public Main {    public static void main(String[] args) {        new Utility();    }}如何将私有构造函数添加到生成的Utility类中?
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

你不能。file:JvmName将生成一个带有静态方法的常规类。


如果您绝对不想使用此构造函数,则必须使用object


object Utility {

    fun someUtilityFunc() {

    // ignored

    }

}

以前,您只需调用someUtilityFunc()Kotlin 代码,它就可以正常工作。


但值得庆幸的是,您可以在 Kotlin 中导入函数,因此它仍然可以在没有前缀的情况下工作:


import com.example.Utility.someUtilityFunc


fun main() {

    someUtilityFunc()

}


查看完整回答
反对 回复 2023-06-21
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信