我知道在 Java 中所有方法调用都在堆栈上。以下面的类为例:
Class Demo
{
// Some instance variables
public Demo()
{
initialize();
}
public void initialize()
{
// Start initialization
....
// Call another method to perform some complex calculation
int resultVal = helperMethod();
// Perform the remaining initialization work
}
public int helperMethod()
{
// Perform some complex calculation
....
return result;
}
}
首先initialize()
(及其状态)被压入堆栈,然后当它调用时 helperMethod()
,状态helperMethod()
也被压入堆栈。
但是我想了解的是,尽管它是构造函数而不是方法,但状态是否Demo()
首先被推入堆栈(甚至在被推入之前)?initialize()
保存构造函数状态和方法状态之间是否存在显着差异?