Tag:

通过使用在超类中定义的相同名称的var来覆盖在接口中定义的val

有一个基类( var需要保护): open class Base(protected var id: Int) {} 有一个需要使用val的接口: interface ProviderI { val id: Int } 还有一个从Baseinheritance的类,实现了ProviderI接口。 其中我试图使用超类var (具有相同的名称)实现接口的val 。 作为一个不工作的例子,我试图做这样的事情(例如不起作用): class Instance(id: Int): Base(id), ProviderI { override val id get() { return super.id } } 这个想法很简单,但我已经尝试了一切,每次都会报告不同的错误。