Java 扩展属性Kotlin

Java 扩展属性Kotlin,java,kotlin,Java,Kotlin,我是科特林的新手 我有一个拥有(姓名)和(年龄)财产的阶级人士。 如何设置Person类的扩展属性 var Person.phone: Int get() = this.phone set(value) {this.phone = value} 在这种情况下如何使用setter? 谢谢。我不确定科特林能否在这里实现您的愿望 从: 请注意,由于扩展实际上并没有将成员插入到 类,没有有效的方法使扩展属性具有 后场。这就是为什么不允许初始值设定项进行扩展 财产。它们的行为只能通过显式

我是科特林的新手 我有一个拥有(姓名)和(年龄)财产的阶级人士。 如何设置Person类的扩展属性

var Person.phone: Int
    get() = this.phone
    set(value) {this.phone = value}
在这种情况下如何使用setter?
谢谢。

我不确定科特林能否在这里实现您的愿望

从:

请注意,由于扩展实际上并没有将成员插入到 类,没有有效的方法使扩展属性具有 后场。这就是为什么不允许初始值设定项进行扩展 财产。它们的行为只能通过显式提供 能手/二传手

由于无法为属性添加支持字段,因此无法通过这种方式将该存储数据添加到现有类中


相反,您可能需要扩展Person以添加更多内容。

不确定Kotlin是否可以实现您在这里想要的功能

从:

请注意,由于扩展实际上并没有将成员插入到 类,没有有效的方法使扩展属性具有 后场。这就是为什么不允许初始值设定项进行扩展 财产。它们的行为只能通过显式提供 能手/二传手

由于无法为属性添加支持字段,因此无法通过这种方式将该存储数据添加到现有类中


您可能需要扩展Person以添加更多内容。

如果我正确理解了问题,您希望有一个带有支持字段的扩展属性。这是不可能的,因为扩展不会修改类。但是,您可以尝试使用委托模拟此行为,请参见“我链接为重复项”。但是如何使用setter方法?啊,只需将值分配到属性:
person.phone=12345
,这是针对Kotlin的。在Java中,需要调用与声明扩展名的文件对应的类的静态方法,例如
FilenameKt.setPhone(person,12345)我认为这可能是一个递归调用?如果我正确理解了这个问题,您希望有一个带有支持字段的扩展属性。这是不可能的,因为扩展不会修改类。但是,您可以尝试使用委托模拟此行为,请参见“我链接为重复项”。但是如何使用setter方法?啊,只需将值分配到属性:
person.phone=12345
,这是针对Kotlin的。在Java中,需要调用与声明扩展名的文件对应的类的静态方法,例如
FilenameKt.setPhone(person,12345)