所以,java.nio.CharBuffer 是一个抽象类,而 HeapCharBuffer 是包私有的。用户代码只能通过抽象超类 CharBuffer 的静态方法创建 HeapCharBuffer 对象,如下所示:
CharBuffer cb = CharBuffer.allocate(10);
// cb class is now HeapCharBuffer
但是,为什么他们不把 CharBuffer 做成一个非抽象的公共类,它有一组构造函数,具有分配和包装方法的逻辑呢?这样的概念有什么意义?