在Kotlin中没有静态关键字。
在Kotlin中表示静态Java方法的最佳方法是什么?
在Kotlin中没有静态关键字。
在Kotlin中表示静态Java方法的最佳方法是什么?
当前回答
Kotlin没有任何静态关键字。您可以在Java和Kotlin中使用下面的代码
object AppHelper {
@JvmStatic
fun getAge() : Int = 30
}
Java类调用
AppHelper.getAge();
呼叫Kotlin类
AppHelper.getAge()
它非常适合我。谢谢
其他回答
使用@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)
}
}
}
这对我也有用
object Bell {
@JvmStatic
fun ring() { }
}
从芬兰湾的科特林
Bell.ring()
从Java
Bell.ring()
你需要为静态方法传递同伴对象,因为kotlin没有静态关键字——同伴对象的成员可以通过简单地使用类名作为限定符来调用:
package xxx
class ClassName {
companion object {
fun helloWord(str: String): String {
return stringValue
}
}
}
java静态方法到kotlin等效方法的确切转换如下所示。例:这里util类有一个静态方法,它在java和kotlin中都是等效的。@JvmStatic的使用非常重要。
Java代码:
class Util{
public static String capitalize(String text){
return text.toUpperCase();}
}
芬兰湾的科特林代码:
class Util {
companion object {
@JvmStatic
fun capitalize(text:String): String {
return text.toUpperCase()
}
}
}
在Java中,我们可以这样写
class MyClass {
public static int myMethod() {
return 1;
}
}
在Kotlin中,我们可以用下面的方式写
class MyClass {
companion object {
fun myMethod() : Int = 1
}
}
在Kotlin中,一个同伴被用作静态。