Java Math 类似于 Kotlin 中的类

标签 java android kotlin

我们如何在 Kotlin 中创建类似于 Util 类的 Java Math。这样我就可以调用类似 Math.add() 的东西。 我尝试使用伴随对象。让我知道是否还有其他方法可以做到这一点。

最佳答案

您可以只使用简单的 object declaration实现该语法:

object Math {
    fun add(x: Int, y: Int) = x + y
}

这会创建一个单例类,在运行时只有一个实例,您可以使用 Math.add(1, 4) 语法调用该实例上的方法。

<小时/>

伴生对象只是嵌套在类中的这些object声明的特例,它们的成员可以通过容器类的标识符访问,类似于Java中的静态函数。

实际上,您可以在类中嵌套任何对象,companion 关键字只是让您无需显式名称即可创建它们。

命名嵌套对象的示例:

class A {
    fun a() {}
    object B {
        fun b() {}
    }
    companion object {
        fun o() {}
    }
}

然后可以像这样调用这些函数:

A().a()          // this call of course needs an instance of A
A.B.b()
A.Companion.o()
A.o()

关于Java Math 类似于 Kotlin 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47771139/

相关文章:

Java 8 Stream Collectors - 用于创建包含多个存储桶中的对象的 Map 的收集器

android - Toast 背景颜色被更改

android - 无法解析 : com. android.databinding :library:3. 1.2

android - 我如何在 CoroutineScope 中取消并检测取消

android - 旧值在 For each 循环中重复

java - 如何从 Java 运行 MATLAB 代码?

java - Spring mongo 线程安全

java - 如何从列表中检索值并将变量设置为值?

Android Marshmallow - 如何知道之前检查过 "Never ask again"

java - 使用 readLine() 方法拆分 Kotlin 字符串