gpt4 book ai didi

Java 继承层次结构——实现父类(super class)正在实现的接口(interface)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:28 25 4
gpt4 key购买 nike

当我扩展一个类时,比如 B 类中的 A 类,我正在实现 A 类实现的所有接口(interface)。

接下来,

interface INTF { ... }

class A implements INTF { ... }

class B extends A { .... }

B 类是 A 类的后代,正在实现 INTF。

那么,我将 B 类声明为

的好处是什么?
class B extends A implements INTF { .... }

?

//===========================

编辑:

Java API 正在执行此操作。例如:

public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V> { ...

有什么用?

TIA

最佳答案

如果你的子类重申它实现了一个接口(interface)没有区别。但是当涉及到Reflection API时有一个巨大的收获。我亲自面对它..

当你调用 B.class.getInterfaces() 时,它返回一个 Class[] 只包含那些由类显式声明的接口(interface)而不是它的父类(super class),尽管实际上它正在实现的接口(interface)是由其父类(super class)实现。 要解决它,您需要递归调用父类(super class)并实现所有接口(interface)。在您的子类中显式声明接口(interface)将在这种情况下帮助您

关于Java 继承层次结构——实现父类(super class)正在实现的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25025550/

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