【寻求kotlin大神请进,已经折腾得没办法了,跪谢】
我有一个如下kotlin类:
open class E {
@JvmField var name:String = "eee"
}
一个java类,继承 E
public class SubE extends E{
public String name = “sub eee”
}
现在在kotlin 中有如下代码:
var subE = SubE()
println(subE.name) // 这行代码包如下错误
Overload resolution ambiguity. All these functions match.
public final var name: String! defined in com.java.invokefromkotlin.callkotlin.SubE
@JvmField public final var name: String defined in com.java.invokefromkotlin.callkotlin.SubE
但是如果java中调用就没有任何问题:
SubE subE = new SubE();
System.out.println(subE.name) // ok 没有任何问题
实在想不通为什么会这样。求大神们解惑