Где переменные экземпляра и методы экземпляра хранятся в Java? - PullRequest
0 голосов
/ 08 июня 2018

В приведенной ниже программе означает ли это, что 3 переменных экземпляра и 3 метода экземпляра созданы и им выделена память?

class Foo{

    String name = "";

   public void greet(String name){

        this.name = name;
    }
}

class Greetings {
    public static void main (String[] args) {

    Foo ob = new Foo();
    Foo ob1 = new Foo();
    Foo ob2 = new Foo();

    ob.greet("hello friends");
    ob1.greet("welcome to java");
    ob2.greet("let us learn");
    System.out.println(ob.name);
    System.out.println(ob1.name);
    System.out.println(ob2.name);
    }
} 

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

В спецификации языка Java ничего не говорится о том, как организована память или как представлены объекты, методы и классы.

Итак, ответ таков: вы не можете и не должныт знаю.

0 голосов
/ 08 июня 2018

Все 3 объекта хранятся в куче памяти.Размер кучи увеличивается по мере запуска приложения.Оператор new выделяет память для объекта в куче.Это означает, что каждый раз, когда вы говорите new в операторе, этому объекту в куче выделяется отдельная область памяти. Методы хранятся во внутренней куче JVM.

Вы можете найти простой примеркак память управляется для объектов в Java здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...