String源码中,为什么字符串对象可以直接点字符数组对象,为什么我写就编译不通过?

/** The value is used for character storage. */
private final char value[];

/** Cache the hash code for the string */
private int hash; // Default to 0


public String(String original) {
    this.value = original.value;
    this.hash = original.hash;
}

    这里的value跟hash有什么不一样的地方?

在java源码中,value与hash是这么定义的

 private final char value[];
private int hash;

私有的,你当然无法获取,私有方法只能本类才能获取

我是重新定义一个类,并不是直接拿他的成员变量用.