我的理解是:
String是一个特殊的类,那么,也有一般类的特点,可以有构造函数,而String类有带参数的构造函数,也有不带参数的构造函数,即 :- public final class String {
- public String(){,,,,,,}
- public String(String original){,,,,,,}
- }
复制代码 String s2 = new String("abc"); 这里就相当于在有带参数的构造函数的所有代码前有一个隐式的无参的super语句,
因为在实例化时可以是空字符串。s2就指向了一个空字符串 和一个 具体的"abc" 对象。
也可以这样理解,"abc"已经是一个具体的对象了,再new 一个,不就2个对象了嘛
不知道理解的是不是这回事?
|