【问题标题】:How to reference super class in constructor in kotlin如何在kotlin的构造函数中引用超类
【发布时间】:2021-01-11 01:07:27
【问题描述】:

我有一个扩展类的类,并通过委托实现接口。但是,在初始化委托对象时,我想传递超类的受保护属性。我怎样才能访问它?我试过自己写属性名,并访问super.property,但都不起作用。可以这样做吗?

【问题讨论】:

  • 不可能。委托必须在使用它的类之前实例化,因此您不能使用此类或其超类的任何属性。

标签: kotlin inheritance constructor initialization super


【解决方案1】:

您需要先创建委托对象,并在类的构造函数完成后进行设置。

如果您需要访问的属性是私有的或隐藏的,您将需要一些自定义方法将属性传递给委托。

也许您可能想重新考虑初始化策略,并考虑构建模式。但是,如果您在哪里提供一些示例代码并进行更详细的解释,将会对我们有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2018-03-29
    • 2019-03-18
    • 2021-09-19
    相关资源
    最近更新 更多