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()
、state forhelperMethod()
もスタックにプッシュされます。
しかし、私が理解したいのは、メソッドではなくコンストラクターであるにもかかわらず、Demo()
最初にスタックにプッシュされる状態 (プッシュされる前) ですか?initialize()
コンストラクターの状態とメソッドの状態の保存に顕著な違いはありますか?