是否可以用Kotlin val(属性)覆盖Java getter(方法)?

2022-09-01 17:43:40

例如:

爪哇岛:

public class Foo {

    public int getSomething() {
        return 1;
    }

}

Kotlin:

class Bar : Foo() {

    // works
    override fun getSomething() = 2

    // doesn't work ('something' overrides nothing)
    // override val something = 2

}

我以为那会被转换成Java字节码。val something = 2public int getSomething() { return 2; }


答案 1

这似乎是一个已知的问题。显然,这是一个复杂的问题,不太可能很快得到解决。

安德烈·布雷斯拉夫(Andrey Breslav)对这个问题的原始回应:

不幸的是,这是一个相当深刻的问题。我们不太可能让它按照您想要的方式工作

在问题页面的下方,您可以看到它在多平台项目方面变得更加复杂。


答案 2

推荐