有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

面向对象Java对象方法堆栈帧参数

因此,在java中,假设在类“Foo”中有一个非静态方法“bar()”

class Foo
{
    private int m_answer;

    public Foo()
    {
        m_answer = -1;
    }

    public void bar(int newAnswer)
    {
        m_answer = newAnswer;
    }
}

然后,假设您这样调用此方法:

Foo myFoo = new Foo();
myFoo.bar(42);

现在,调用的堆栈帧包括integer参数以及用作对象内部引用的“this”参数

除了“this”和方法参数之外,还有哪些有趣的参数被复制到新的堆栈框架中


共 (1) 个答案

  1. # 1 楼答案

    通常是一个指向调用指令的指针,这样VM(在本机应用程序中是CPU)将知道在哪里设置指令指针(或PC - Program Counter),从而堆栈将正确展开