当前位置: 首页 > 面试题库 >

限制可能实现接口的类

常炯
2023-03-14
问题内容

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

更具体地说,通用接口可以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类型安全的方式强制转换为对象。

在用尽所有其他信息源之后,我已经很强烈地预感这是不可能的,但是如果有人可以证明我不满意,我将感到非常高兴!


问题答案:

如果强制转换的能力不是严格必需的,则可以在界面中添加这样的其他方法就足够了:

public T getT()

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



 类似资料:
  • 但是现在,我希望这些接口实现也可用于扩展,例如。 我如何设置我的课程来实现这一点?(或者,反对这样做的固有缺陷或代码气味是什么?)

  • 实施限制 授权,实质上是关于限制。 基于某些检查,用户可能受到限制。 限制可以在以下两个地方之一中应用: 在RADIUS服务器上 在NAS 当访问请求数据包发送到RADIUS服务器时,在身份验证过程中确定限制。 Accounting-Request数据包不会也不能确定限制。 当在RADIUS服务器上应用限制时,服务器返回一个Access-Reject数据包,该数据包应该包含一个Reply-Mess

  • 问题内容: 最近,一位通讯员提到了Python 2.6中的新增功能,指出典型的浮点实现本质上是实数的有理近似。出于好奇,我不得不尝试π: 由于Arima,我没有看到更准确的结果使我感到有些惊讶: 例如,此代码: 产生以下输出: 当然,考虑到64位浮点数提供的精度,结果是正确的,但是这使我提出了一个问题:我如何才能找到有关的实现局限性的更多信息?感谢您的指导。 附加链接:Stern-Brocot树和

  • 我想制作一个实现比较器接口的比较器类。在类中,我想根据它们的ID比较我的2个员工对象。到目前为止,我制作的员工类是: 我完全被困住了,不知道该怎么办。有人能帮忙吗?

  • 问题内容: 我不确定如何在我的抽象类中实现类似的接口。我有以下示例代码可用来尝试解决这个问题: 我有一个测试类,该类将创建Animal类型的对象,但是我希望在该类中具有一个可比的接口,以使发现的年纪高于低位。我不知道如何去解决这个问题。 问题答案: 您只需要定义即p。然后,您必须以自己喜欢的方式实现该方法。 使用的实现,具有较高级别的动物将获得更高的顺序。我希望你的想法和这个例子。