【问题标题】:Implement setter from java interface as kotlin property从 java 接口实现 setter 作为 kotlin 属性
【发布时间】:2020-03-31 08:52:41
【问题描述】:

我在 Java 接口中有一个布尔字段的简单 getter 和 setter:

public interface Interface1 {
    void setValue1(boolean value);
    boolean getValue1();
}

当尝试在 Kotlin 中将其作为属性实现时:

class Class1: Interface1 {
    var value1 = false
} 

我得到编译错误:

类 'Class1' 不是抽象的,也没有实现抽象成员 public abstract fun setValue1(value: Boolean): Unit defined in com.example.Interface1.

所以只有 getter 被覆盖。是否可以在不手动实现 getter 和 setter 的情况下解决这个问题,而无需 kotlin “糖”?

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    https://youtrack.jetbrains.com/issue/KT-6653

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

    自 2015 年以来,这种立场似乎没有改变。

    【讨论】:

    • 非常感谢 Alexey 的回答!我怕是这样,只希望我错了……
    猜你喜欢
    • 2014-08-22
    • 2019-10-03
    • 2019-12-26
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2016-06-08
    相关资源
    最近更新 更多