繁体   English   中英

Java Math类似Kotlin中的类

[英]Java Math like classes in Kotlin

我们如何在Kotlin像Util类一样创建Java Math。 这样我就可以调用Math.add()类的东西。 我尝试使用伴侣对象。 让我知道是否还有另一种方法。

您可以使用简单的object声明来实现该语法:

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()

你可以这样做

    class Math {
        companion object {
            fun add(val x: Int, val y: Int): Int {
                return x+y
            }
            fun subtract(val x: Int, val y: Int): Int {
                return x-y
            }
            fun multiply(val x: Int, val y: Int): Int {
                return x*y
            }
            ...
        }
     }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM