Чтобы понять создание объекта, мы должны сначала знать понятие ООП. Это модель программирования, основанная на четырех основных принципах объектно-ориентированного подхода, а именно: Абстракция, Инкапсуляция, Наследование и Полиморфизм. Позже мы обсудим эти четыре столпа в нашем следующем блоге, но сначала нам нужно понять термин объект.

Объект — это не что иное, как экземпляр класса. У него есть состояние, поведение и идентичность. Состояние и поведение объекта могут быть определены в классе.

class Medium{
  
  String articles;                            // state 1
  int pageNumber;                              //state 2

  public void writeArticle(){                  // Behaviour 1 
      // some code ....
  }

  public void publishArticle(){                // Behaviour 2
      // some code .....
  }
}

«State» также известен как элемент данных, поля или свойства класса, тогда как «Behaviour» — это метод или функция-член класса.

Короче говоря, мы можем сказать, что Класс = Состояние + Поведение. Это расширенная концепция структуры, которую мы читали в нашей книге «Процедурно-ориентированное программирование», например C, C++ и т. д. По приведенному выше определению мы можем легко сказать, что класс — это план состояния и поведения объекта.

Это так много о классе, но чтобы понять создание объекта, нужно понять концепцию класса. Теперь подойдем к моменту, когда мы собираемся понять концепцию создания объекта, но прежде чем перейти к этому, мы должны знать, что означает объект.

Объект — это физическое представление класса, который является сущностью времени выполнения, поскольку он выделяет память в куче при выполнении класса. Чтобы создать объект класса, мы должны знать его синтаксис.

Синтаксис: ‹ClassName› ‹referenceVariable› = new ‹ClassName› ();

Medium med = new Medium();

Если вы понимаете до сих пор, то это означает, что мы идем по правильному пути, потому что теперь пришло время для кульминации ……

Итак, когда я создаю объект класса, т.е.

Medium med = new Medium();

JVM выделяет 8 байт памяти для ссылочной переменной и инициализирует ее значением null.

Проверяет, загружен ли класс или нет. Если в случае, если класс не загружен, то сначала он будет загружаться, при загрузке он выделяет память для статической переменной, которой нет в нашем классе, но если она была там, то она инициализирует эту переменную со значением по умолчанию, т.е. для int -> 0, String -> null и float -> 0.0

После этого он создаст объект и выделит память для переменной экземпляра класса и инициализирует ее значениями по умолчанию.

Теперь адрес объекта присваивается ссылочной переменной.

Я надеюсь, что вы поняли эту статью и у вас есть четкое представление о создании объектов с помощью диаграмм. Если вам нравится мой контент, хлопайте и подписывайтесь. Спасибо !