在Kotlin中没有静态关键字。
在Kotlin中表示静态Java方法的最佳方法是什么?
在Kotlin中没有静态关键字。
在Kotlin中表示静态Java方法的最佳方法是什么?
当前回答
object objectName {
fun funName() {
}
}
其他回答
这对我也有用
object Bell {
@JvmStatic
fun ring() { }
}
从芬兰湾的科特林
Bell.ring()
从Java
Bell.ring()
使用@JVMStatic Annotation
companion object {
// TODO: Rename and change types and number of parameters
@JvmStatic
fun newInstance(param1: String, param2: String) =
EditProfileFragment().apply {
arguments = Bundle().apply {
putString(ARG_PARAM1, param1)
putString(ARG_PARAM2, param2)
}
}
}
kotlin文档提供了三种方法, 第一个是在包中定义函数,没有类:
package com.example
fun f() = 1
第二个是使用@JvmStatic注释:
package com.example
class A{
@JvmStatic
fun f() = 1
}
第三个是使用伴侣对象
package com.example
clss A{
companion object{
fun f() = 1
}
}
有两种方法可以在Kotlin中应用静态
首先在类下创建一个伴生对象
为例:
class Test{
companion object{
fun isCheck(a:Int):Boolean{
if(a==0) true else false
}
}
}
你可以称这个函数为
Test.Companion.isCheck(2)
另一种方法是创建一个对象类
object Test{
fun isCheck(a:Int):Boolean{
if(a==0) true else false
}
}
编码快乐!
使用对象表示val/var/方法使静态。你也可以用object代替单例类。如果你想在类内部创建静态,你可以使用companion
object Abc{
fun sum(a: Int, b: Int): Int = a + b
}
如果你需要从Java调用它:
int z = Abc.INSTANCE.sum(x,y);
在Kotlin中,忽略INSTANCE。