什么是直接和间接子类

时间:2015-02-18 03:07:42

标签: java

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

public abstract class
Buffer
extends Object
Known Direct Subclasses:
ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer
Known Indirect Subclasses:
MappedByteBuffer

Buffer是一个无法实例化的抽象类。 它继承(扩展)对象。

但我对Direct和Indirect子类感到困惑。 我最好的猜测是: Direct直接从超类扩展。 Indirect它从一个直接扩展相关类的超类扩展。

非常感谢任何建议,

2 个答案:

答案 0 :(得分:16)

你是对的。 已知的直接关系意味着该类是直接祖先。 已知的直接关系意味着该类已知是一个子类,但事实上它可能比父类低很多级别。

答案 1 :(得分:4)

鉴于 class A

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

你明白了。


另一种看待它的方法是使用这个继承链图(A是超类,其余的继承):

A->B->C->D

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