gpt4 book ai didi

java - 限制可以实现接口(interface)的类

转载 作者:搜寻专家 更新时间:2023-10-31 19:49:49 24 4
gpt4 key购买 nike

一般来说,是否可以限制可能实现接口(interface)的类?

更具体地说,通用接口(interface)可以Foo<T>将其实现限制为 T 的后代:

interface Foo<T> {}
class Baz extends Bar implements Foo<Bar> {} // desirable
class Baz extends Bar implements Foo<Qux> {} // undesirable

上下文是Foo<Bar>对象应该可以转换为 Bar以类型安全的方式处理对象。

在穷尽所有其他信息来源后,我已经有一种强烈的预感,这是不可能的——但如果有人能证明并非如此,我会很高兴!

最佳答案

如果强制转换的能力不是绝对必要的,那么在你的接口(interface)中添加一个像这样的额外方法可能就足够了:

public T getT()

如果大多数实现实际上扩展了 T,它们可以简单地返回 this 作为该方法的实现。

关于java - 限制可以实现接口(interface)的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com