关于String底层问题可以回答一下吗?

public String(String original) {
this.value = original.value;
this.hash = original.hash;
}
请问String中value 不是私有化了吗为什么original能调用value呢

original是String的对象,在当前类中可以调用私有属性。
私有属性只是对外不能直接访问而已。
类似用this访问自身的私有属性。

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

img

私有是不让外人用,不是不让自己用;自己用自己的,想用啥用啥

跟友元类是一样的,友元类可以访问类的私有成员。这个函数是拷贝构造函数,是“自身类”,更可以访问自己的私有成员啊。
private、public和protected这些是对外部类来说的,在拷贝构造函数中,参数跟当前类是同一个类,所以可以访问类的私有成员。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632