如何避免kotlin中重写字段的重复

如何避免kotlin中重写字段的重复,kotlin,duplicates,overriding,Kotlin,Duplicates,Overriding,继承的对象创建新字段,而不是覆盖它 假设CredentialMessage扩展自消息 打开类消息( @SerializedName(“l”)打开val标签:字符串 ){ 重写funtostring():String{ 退货标签 } } 类凭证消息( @临时覆盖val标签:字符串, @SerializedName(“u”)打开val用户名:字符串, @SerializedName(“p”)打开val密码:字符串 ):Message(“\uD83D\uDD12”+label)//在反编译现有源代码后

继承的对象创建新字段,而不是覆盖它

假设
CredentialMessage
扩展自
消息

打开类消息(
@SerializedName(“l”)打开val标签:字符串
){
重写funtostring():String{
退货标签
}
}
类凭证消息(
@临时覆盖val标签:字符串,
@SerializedName(“u”)打开val用户名:字符串,
@SerializedName(“p”)打开val密码:字符串

):Message(“\uD83D\uDD12”+label)//在反编译现有源代码后,我找到了答案。
覆盖
关键字生成完全相同的字段。删除
override
关键字后,问题得到解决

class-CredentialMessage(
标签:字符串,
@SerializedName(“u”)打开val用户名:字符串,
@SerializedName(“p”)打开val密码:字符串

):Message(“\uD83D\uDD12”+label)//在反编译现有源代码后,我找到了答案。
覆盖
关键字生成完全相同的字段。删除
override
关键字后,问题得到解决

class-CredentialMessage(
标签:字符串,
@SerializedName(“u”)打开val用户名:字符串,
@SerializedName(“p”)打开val密码:字符串

):Message(“\uD83D\uDD12”+标签)//您还删除了
val
;这可能是主要因素。(没有它,
label
只是一个构造函数参数,而不是类属性,因此不会干扰超类属性。不过,我仍然不确定它之前为什么会这样做。)您还删除了
val
;这可能是主要因素。(没有它,
label
只是一个构造函数参数,而不是类属性,因此不会干扰超类属性。不过,我仍然不确定它以前为什么会这样做。)