据我了解,
当创建长度为10的原始int
对象的新数组时,将为10*4 = 40
个字节保留一个存储区域。
现在我的问题是,当创建引用类型的对象数组时,例如来自A类的对象(如下所述),该数组中存储了什么?是对象本身,带有指向vtable和所有字段的指针,还是数组仅由指向其他位置的对象的指针组成?
接下来是另一个问题,我可以将A类型的对象存储在B类型的对象数组中,和/或反之吗?
class A {
int a;
int b;
int foo(int x){
return x*x;
}
}
class B extends A {
int c;
}