String类中的成员变量offset可以直接访问吗?

第一次提问~
今天在看String的字符串匹配实现,看到里面有个private的成员offset。

     /** The offset is the first index of the storage that is used. */
    private final int offset;

完了之后再String的一个constructor中看到了这种访问

     /**
     * Allocates a new string that contains the sequence of characters
     * currently contained in the string buffer argument. The contents of the
     * string buffer are copied; subsequent modification of the string buffer
     * does not affect the newly created string.
     *
     * @param  buffer
     *         A {@code StringBuffer}
     */
    public String(StringBuffer buffer) {
        String result = buffer.toString();
        this.value = result.value;
        this.count = result.count;
        this.offset = result.offset;
    }

有点乱,是不是我忽略或者理解错了什么?求大家指导

估计是为了优化subString一类的函数而设立的。但是一般没有必要去访问offset。反射或许可以访问到。

http://blog.csdn.net/arkblue/article/details/9158541
http://www.2cto.com/kf/201103/86457.html