如何在Kotlin中访问Java类的静态变量?

时间:2018-07-18 09:25:32

标签: java android kotlin

例如:我有一个Java类First

First.java

   `class First{
      public static TAG = "test"
    }`

Second.kt

  `class Second{
     First.TAG  /*Error classifier First does not have a companion object,and thus must be initialized here*/
   }`

所以请帮助我调用Second.kt kotlin类中在First.java中声明的静态变量

3 个答案:

答案 0 :(得分:1)

Java类:

class First {
    public static String TAG = "test";
}

科特琳课:

class Second {
    val secondTag: String = First.TAG
}

没有问题。

尝试使用IntelliJ IDEA

fun main(args: Array < String > ) {
    val s = Second()
    println(s.secondTag)
}

打印test

答案 1 :(得分:1)

只需设置一个适当的静态最终常数即可。

class First {
      public static final String TAG = "test"
}

现在您可以从Kotlin调用它。

class Second {
   fun blah() {
       val tag = First.TAG
   }
}

答案 2 :(得分:0)

头等舱

package com.your.package object First { val TAG: String= "Your TAG"; }

第二堂课

class Second{ First.TAG }

Kotlin没有静态成员或成员函数, 您可以使用随播对象