Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在此区域中创建了多少个对象_Java_Oop - Fatal编程技术网

Java 在此区域中创建了多少个对象

Java 在此区域中创建了多少个对象,java,oop,Java,Oop,在这个类中,将为字符串创建多少个对象 public class B { public static void main(String[] args) { String string = new String("abc"); String s = "def"; s = s + "fgh"; } } 如果您询问创建了多少个字符串对象,那么答案是5个字符串对象 String string = new String("abc"); //

在这个类中,将为字符串创建多少个对象

public class B {

    public static void main(String[] args) {
        String string = new String("abc");
        String s = "def";
        s = s + "fgh";
    }
}

如果您询问创建了多少个字符串对象,那么答案是5个字符串对象

String string = new String("abc"); // 2 Strings with value "abc" , one on heao and another in String constants pool
String s = "def"; // String "def" on String constants pool
s = s + "fgh"; // String "deffgh" on heap and "fgh" on String pool

许多对象是在内部创建的,如<代码> StringBuilder < /代码>、代码>数组> /代码>等等。您不应该考虑这些。< /P> 5个字符串对象将被创建。这个问题有什么用?在常数池“ABC”、“DEF”和“FGH”中查找3,而1在堆<代码>字符串< /代码>本身,1是“代码> S+“FGH”< /代码>。总共创建了5个对象。如果有这么多不同的意见,这绝对不是一个坏问题:D