一个对象在堆中是如何被存储的。例如,自行车类可以这样定义:
public class Bicycle {
public int gear;
public int speed;
public Bicycle(int startSpeed, int startGear) {
gear = startGear;
speed = startSpeed;
}
public void setGear(int newValue) {
gear = newValue;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
}
那么我可以创建一个自行车对象:
Bicycle bicycle = new Bicycle(20,10)
那么这个自行车对象应该存储在堆中。但我不理解堆是如何精确地存储这些实例变量和方法,比如速度和齿轮。我了解堆应该被实现为树。那么对象是如何存储在树中的呢?当你使用 bicycle.speed
来查找速度值时,时间复杂度会是什么?