查看抽象類ByteBuffer
的代碼,很明顯它繼承自基類Buffer
。Java構造函數超級參數
ByteBuffer
有一個構造函數:
ByteBuffer(int capacity) {
super(capacity);
}
而且Buffer
有一個構造函數:
Buffer(int mark, int pos, int lim, int cap) {
...
}
所以我的問題是 - 當ByteBuffer
調用它的父類的構造,如何做到這一點的工作,因爲參數不匹配?
UPDATE:這是一個非的問題,但值得了解一些在線Java源代碼庫(在這種情況下docjar)持有Java源代碼的大雜燴。最好下載JDK **
好吧,我很好奇。 – MikeTheLiar 2013-02-15 15:48:12
我的版本的ByteBuffer(oracle jdk 7)沒有'int'構造函數。不知道你的鏈接指向的是什麼,是的超級(容量)只有在超類中有一個「Buffer(int capacity)」時才能工作。 – assylias 2013-02-15 15:50:15
這可能是版本不匹配。我現在沒有JDK 7,但是在JDK 6中沒有'ByteBuffer(int)'構造函數,只是一個'ByteBuffer(int,int,int,int)',它匹配'Buffer(int,int,int ,int)'構造函數。 – Thomas 2013-02-15 15:51:45