在这个问题中,什么被认为是对象?数组中有 7 个双精度数加上数组本身。
以下代码片段执行后将出现多少个对象?
double[] ann = new double[ 7 ];
double[] bob;
bob = ann;
2 7 14 1
在这个问题中,什么被认为是对象?数组中有 7 个双精度数加上数组本身。
以下代码片段执行后将出现多少个对象?
double[] ann = new double[ 7 ];
double[] bob;
bob = ann;
2 7 14 1
只有一个对象new double[ 7 ];
双[]鲍勃;还引用在上述步骤中创建的相同对象。
只会有一个对象。您使用new double[7]
. bob
并且ann
只是对该对象的引用,而 7 个双精度数是原语。
有一个对象:double[7]
, 有 2 个对它的引用(ann
和bob
)。由于数组包含原语,因此这些不是Object
实例,因此您无需计算它们
double[] ann = new double[ 7 ];
您已经创建了一个Array Object
现在由 Array Object Reference Variable 引用的对象ann
。
double[] bob;
bob = ann;
在上面的行中,您正在创建一个数组对象引用变量bob
。并将引用分配给Array Object
也被引用的ann
谢谢。我用一些代码测试了它。
public class TestCode {
/**
* @param args
*/
public static void main(String[] args) {
double[] ann = new double[ 7 ];
double[] bob;
bob = ann;
System.out.println(bob.getClass().getSimpleName());
System.out.println(bob[6]);
//there are 7 double references initialized to 0.0
//array refs point to same object
//1 object of type double[]
}
}