Будет ли переменная 'x' в этом фрагменте кода храниться в памяти стека, в куче или в обеих?

Так что относительно переменной int x, В начале этого урока int x и и String s хранятся в памяти кучи. Тем не менее, когда конструктор инициируется, это int x хранится в памяти стека И кучи памяти, так как конструктор технически метод или нет?

public class A {
    int x;
    public String s = "";

    public A(int y) {
        x = y;
    }
}

1 ответ

Решение

y хранится в стеке, поскольку является переменной этого метода. x просто модифицируется на месте в куче.

Другие вопросы по тегам