【发布时间】:2013-01-31 15:17:37
【问题描述】:
查看抽象类ByteBuffer 的代码,很明显它继承自基类Buffer。
ByteBuffer 有一个构造函数:
ByteBuffer(int capacity) {
super(capacity);
}
而Buffer 有一个构造函数:
Buffer(int mark, int pos, int lim, int cap) {
...
}
所以我的问题是 - 当ByteBuffer 调用它的父构造函数时,这是如何工作的,因为参数不匹配?
更新:这不是问题,但值得知道的是,一些在线 Java 源存储库(在本例中为 docjar)包含 Java 源的混搭。最好下载JDK **
【问题讨论】:
-
好吧,我很感兴趣。
-
我的 ByteBuffer 版本(oracle jdk 7)没有
int构造函数。不确定您的链接指向什么...是的,super(capacity)只有在超类中有Buffer(int capacity)时才能工作。 -
这可能是版本不匹配。我现在没有 JDK 7,但是在 JDK 6 中没有
ByteBuffer(int)构造函数,只有一个与Buffer(int, int, int, int)构造函数匹配的ByteBuffer(int, int, int, int)。 -
你用的是什么版本的java?我看到ByteBuffer 是一个抽象类作为 Buffer 并且看不到您给出的 conturtor。但我看到了static allocate method
-
链接在问题中(锚点不是很明显,但它们是我编写 Buffer 和 ByteBuffer 的地方)。我在看docjar。听起来很正式!
标签: java class inheritance constructor