2013-04-21 27 views
0

所以,java.nio.CharBuffer是一個抽象類,而HeapCharBuffer是包私有的。用戶代碼只能通過抽象超CharBuffer中的靜態方法創建HeapCharBuffer的對象,像這樣:摘要CharBuffer和包專用HeapCharBuffer:有什麼意義?

CharBuffer cb = CharBuffer.allocate(10); 
// cb class is now HeapCharBuffer 

但是,爲什麼他們不與邏輯一組構造製成CharBuffer的非抽象公共類分配和包裝方法?這個概念有什麼意義?

回答

0

我認爲這樣,作者保留更改CharBuffer.allocate返回的CharBuffer的具體實現的權利。

+0

但是用戶代碼只能使用超類中定義的方法,因此作者不能添加新的方法,它們只能重寫方法。所以他可以對CharBuffer本身做一個非抽象的類 – 2013-04-21 15:11:11