我有一个关于用java语言创建对象的内存问题。如何将对象存储在内存中 - Java(C++)
当在java中创建一个对象时,某个内存空间在堆上被占用 - 对吗?但是这个记忆的一部分是什么?它是成员变量还是成员变量和方法?是否可以让几个指向同一个类的对象共享一些东西?
让说我有下面的类
class MyClass {
//Membervariables
protected int age;
protected long dateOfBirth;
/**
* Constructor
* @param age
*/
public MyClass(int age) {
this.age = age;
}
/**
*
* @param dateOfBirth
*/
protected void setDob(long dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
/**
*
* @return
*/
protected int getAge() {
return this.age;
}
/**
*
* @return
*/
protected long getDob() {
return this.dateOfBirth;
}
}
所以在这个班,我有以下: - 两个membervariables - 一个INT和一个长
一个构造函数
一个mutator-method
one accessor-method。
在主方法创建这个类的两个实例(对象):
MyClass myClass1 = new MyClass(10);
MyClass myClass2 = new MyClass(11);
所以我的问题是:
1)这个怎么会在计算机上描绘记忆?
2)关于对象在内存中存储事物的相同“体系结构”是否也可以应用于C++?
在此先感谢!
Java语言规范没有规定这样的事情。这取决于每个JVM的实现。 –