什么是直接和间接子类?

17

我正在查看Android开发文档,然后看到了这个

public abstract class Buffer
extends Object

Known Direct Subclasses:
ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer

Known Indirect Subclasses:
MappedByteBuffer

Buffer是一个抽象类,不能被实例化。它继承自Object

但我对直接和间接子类感到困惑。我的最佳猜测是:直接子类 直接从超类继承。 间接子类 从直接扩展该类的超类继承。

非常感谢任何建议,


5
你说得对。使用“间接”的话,超类不必是所涉及类的直接子类型,它可以在任意多级以下。 - Sotirios Delimanolis
2个回答

17

您说得对。一个已知的直接关系意味着该类是其直接祖先。一个已知的间接关系意味着该类被认为是子类,但实际上它可能在父级以下多个层级。


9

给定 A 类:

class B extends A // B is direct subclass of A
class C extends B // C is indirect subclass of A
class D extends C // D is indirect subclass of A

你明白了。


另一种看待这个问题的方式是使用这张继承链图表(A是超类,其余的类都继承自它):

A->B->C->D

B是A的直接子类,其余都是A的间接子类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接