对象如何存储在堆中?
2022-09-02 12:37:37
对象在堆中的存储方式。例如,自行车类可以按如下方式定义:
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