什么是直接和间接子类

ant*_*009 16 java

我在看android开发文档,我看到了这个:

public abstract class Buffer
extends Object

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

Known Indirect Subclasses:
MappedByteBuffer
Run Code Online (Sandbox Code Playgroud)

Buffer是一个无法实例化的抽象类.它继承(extends)Object.

但我对Direct和Indirect子类感到困惑.我最好的猜测是: Buffer直接从超类扩展. Object它从一个直接扩展所讨论的类的超类扩展而来.

非常感谢任何建议,

Ell*_*sch 17

你是对的.一个已知的直接关系意味着类是直接祖先.一个众所周知的直接关系意味着类被称为是一个子类,但它实际上可能是父低于许多层面.


Mer*_*ury 7

鉴于 class 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
Run Code Online (Sandbox Code Playgroud)

你明白了。


另一种查看方式是使用此继承链图(A是超类,其余继承):

A->B->C->D
Run Code Online (Sandbox Code Playgroud)

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