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;
}
私有是不让外人用,不是不让自己用;自己用自己的,想用啥用啥
跟友元类是一样的,友元类可以访问类的私有成员。这个函数是拷贝构造函数,是“自身类”,更可以访问自己的私有成员啊。
private、public和protected这些是对外部类来说的,在拷贝构造函数中,参数跟当前类是同一个类,所以可以访问类的私有成员。