我们如何在 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/