You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中如何同时使用where约束并继承泛型类?

正确实现方式

你原来的代码问题出在语法顺序错误,Kotlin中类的继承声明要放在类型参数之后,where约束子句要放在继承声明的后面。

正确的代码写法如下:

interface Foo
interface Bar

open class Baz<T : Foo>

// 正确写法
class Buz<T> : Baz<T>() where T : Foo, T : Bar

说明:

  • 先声明类名和类型参数T,接着用: Baz<T>()指定继承关系
  • 最后通过where子句给T添加多重约束:同时实现Foo和Bar接口
  • 因为Baz要求泛型参数必须是Foo的子类型,这里where里的T : Foo也满足了父类的约束,不会冲突

内容的提问来源于stack exchange,提问作者The Zip Creator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:17:31