用具有不同名称的构造函数参数覆盖接口属性

我有这个代码:

class AnyUsernamePersistentNodePath(override val value: String) : AnyPersistenceNodePath { override val key = "username" } 

 interface AnyPersistenceNodePath { val key: String val value: String } 

到现在为止还挺好。 现在我想在构造函数中的参数value被命名为username ,而不是value 。 但是,显然,保持覆盖接口的属性value 。 Kotlin可能吗?

我知道我可以这样做:

 class AnyUsernamePersistentNodePath(val username: String) : AnyPersistenceNodePath { override val key = "username" override val value = username } 

但我想避免它。

你可以简单地通过从构造函数参数中删除val来做你想做的事情,所以它是一个参数而不是成员。 你的最后一堂课是:

 class AnyUsernamePersistentNodePath(username: String) : AnyPersistenceNodePath { override val key = "username" override val value = username } 

你不能改变你真正压倒一切的东西的名字。 但是你可以在构造的时候传递值给一个成员,就像我稍微修改过的代码所显示的那样。