String str = “abc”;与 String str2 = new String("abc")
s1在内存中有一个对象
s2在内存中有两个对象
我的理解是
String str = "abc"等同与int x = 4;一样 str是一个变量名 String是变量类型 对象的话只有“abc”一个对象
String str2 = new String("abc") 等同于Person p = new Person("abc") p是一个对象 "abc" 也是一个对象 所以s2在内存中有2个对象
str3是指向一个引用 栈内存中开辟了空间建立了对象 对象的地址值指向了堆内存中的str3
str4是没有指向引用
|