String类的解析
1:String类被final修饰符锁修饰,代表String类一旦声明,就不可被改变;这里的不可变是引用地址不可变,而非指向的内容不可变,下面一张图来理解一下:
再来看一下String类的源码:
public final class String implements Serializable, Comparable<String>, CharSequence {
private final char[] value;
private int hash;
private static final long serialVersionUID = -6849794470754667710L;
private static final ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0];
public static final Comparator<String> CASE_INSENSITIVE_ORDER = new String.CaseInsensitiveComparator();
public String() {
this.value = "".value;
}
public String(String var1) {
this.value = var1.value;
this.hash = var1.hash;
}
省略....
故被String修饰的类不可被继承;