gpt4 book ai didi

java - 具有私有(private) java 构造函数的 Kotlin 顶级函数

转载 作者:行者123 更新时间:2023-11-30 01:46:40 26 4
gpt4 key购买 nike

我有一个带有顶级函数的 kotlin 文件,并指定了从 java 代码中使用它的名称:

实用程序.kt

@file:JvmName("Utility")
package com.example

fun someUtilityFunc() {
// ignored
}

我可以在我的 Java 代码中实例化 Utility 类:

Main.java

package com.example;

public Main {
public static void main(String[] args) {
new Utility();
}
}

如何将私有(private)构造函数添加到生成的 Utility 类中?

最佳答案

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

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

object Utility {
fun someUtilityFunc() {
// ignored
}
}

以前,您只需在 Kotlin 代码中调用 someUtilityFunc() 就可以了。

但幸运的是,您可以在 Kotlin 中导入函数,因此无需前缀它仍然可以工作:

import com.example.Utility.someUtilityFunc

fun main() {
someUtilityFunc()
}

关于java - 具有私有(private) java 构造函数的 Kotlin 顶级函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57688928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com