有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java创建的对象数

今天,我在考试中遇到了以下问题:

String[] subjects=new String[10];
String subname="POPL-201617";
subjects[0]=subName;
subName=null;
  1. 创建了多少个对象

    我的答案是:将创建11个对象。10,其中一个是字符串文字

  2. 代码执行后,存在多少对这些对象的引用

    我的回答是:总共有一处提到“POPL-201617”

  3. 解释这些对象是否符合垃圾收集的条件

    我的回答是:因为有“POPL-201617”的引用,所以它不符合垃圾收集的条件。即使没有引用,它也是一个内部字符串,因此不能被垃圾收集。其余的都有资格进行垃圾收集

我对第一项声明感到关切。我们没有将任何参数传递给String类的构造函数。它将形成对象还是只在堆上分配空间

另外,我的理解是,受试者最初指向数组的底部。因此,第一个元素最初有一个引用。但是由于subjects[0]现在引用POPL,所以no数组元素有任何引用

我说得对吗?还是我遗漏了什么


共 (1) 个答案

  1. # 1 楼答案

    唯一遗漏的是String[] subjects=new String[10]只创建了一个类型为String[]的对象