2016-01-24 30 views
0

由于接口只指定方法,而不是实例变量,如何存储分配给这样的:Java如何为接口数组分配存储空间?

Comparable[] aux = new Comparable[20]; 

多少每个位置的记录(即不包括数组的开销)将被分配?

+2

数组只分配足够的连续内存指向对象的指针,它不需要为实际对象本身分配内存 – MadProgrammer

+0

是的,如果你发布这个答案,我会接受它。 –

回答

2

该数组仅为指向对象的指针分配足够的连续内存,因此不需要为实际对象本身分配内存。

我们有时会忘记,Java的仍使用“指针”(又名参考),它只是不提供访问相同级别的那些三分球,其他语言做

1

对象是引用类型,因此每个对象的子类型(包括比较器和其他每个接口)都是引用类型。这意味着每个数组项的大小都是对象引用的大小。它是什么样的对象没有什么不同。