String s="a"+"b"+"c" 创建了几个对象

答案:创建了一个

赋值符号右边的"a"、"b"、"c"都是常量
对于常量,编译时就直接存储它们的字面值而不是它们的引用
在编译时就直接将它们连接的结果提取出来变成了"abc"
该语句在class文件中就相当于String s = "abc"
然后当JVM执行到这一句的时候, 就在String pool里找
如果没有这个字符串,就会产生一个

你可能感兴趣的:(String s="a"+"b"+"c" 创建了几个对象)