Различие между Классами, Объектами и Экземплярами

$('input#myId').toggle(
  function(e){
    e.preventDefault();
    //do stuff      
    $(this).attr('checked', 'true');
  },
  function(e){
    e.preventDefault();
    //do other stuff        
    $(this).attr('checked', 'false');
  }
);
78
задан Francesco Menzani 8 October 2015 в 16:07
поделиться

5 ответов

Java (и любой другой язык программирования) моделируется в терминах типов и значений . На теоретическом уровне значение представляет собой представление некоторого кванта информации, а тип - это набор значений. Когда мы говорим, что значение X является экземпляром типа Y, мы просто говорим, что X является членом набора значений, который является типом Y.

Вот что на самом деле означает термин «экземпляр» означает: он описывает отношение, а не вещь.

Система типов языка программирования Java поддерживает два типа типов: примитивные типы и ссылочные типы . Типы ссылок далее делятся на классы и типы массивов . Объект Java - это экземпляр ссылочного типа.

Объект - это экземпляр класса или массив. ( JLS 4.3.1 )

Это теоретический взгляд на типы.

На практике большинство разработчиков Java рассматривают слова «экземпляр» и «объект» как синонимы. (И это включает меня, тогда я пытаюсь что-то быстро объяснить.) И большинство разработчиков используют слово «значение», а не «экземпляр» для обозначения экземпляра примитивного типа.

77
ответ дан 24 November 2019 в 10:27
поделиться

Класс - это, по сути, определение и содержит код объекта. Объект является экземпляром класса

, например, если вы говорите

String word = new String();

, что класс является классом String, который описывает слово объекта (экземпляра).

Когда класс объявлен, память не выделяется, поэтому class это просто шаблон.

Когда объект класса объявляется, выделяется память.

29
ответ дан 24 November 2019 в 10:27
поделиться

Если у вас есть программа, которая моделирует автомобили, у вас есть класс для представления автомобилей, поэтому в коде можно сказать:

Car someCar = new Car();

someCar теперь является экземпляром класса Car. Если программа используется в ремонтной мастерской, и someCar представляет вашу машину в своей системе, тогда ваша машина является объектом.

Итак, Car - это класс, который может представлять любую машину реального мира. someCar - это экземпляр класса Car и someCare представляет один объект реальной жизни (ваш автомобиль)

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

2
ответ дан 24 November 2019 в 10:27
поделиться

Класс - это план, который вы используете для создания объектов . Объект - это экземпляр класса - это конкретная «вещь», которую вы создали с помощью определенного класса. Итак, «объект» и «экземпляр» - это одно и то же, но слово «экземпляр» указывает на отношение объекта к его классу.

Это легко понять, если вы посмотрите на пример. Например, предположим, что у вас есть класс Дом . Ваш собственный дом - это объект и экземпляр класса House . Дом вашей сестры - еще один объект (еще один экземпляр класса Дом ).

// Class House describes what a house is
class House {
    // ...
}

// You can use class House to create objects (instances of class House)
House myHouse = new House();
House sistersHouse = new House();

Класс Дом описывает концепцию того, что такое дом, и есть определенные,

84
ответ дан 24 November 2019 в 10:27
поделиться

Любой вид данных, хранимых и обрабатываемых вашим компьютером, в основном представляет собой ряд битов. То, как эти биты интерпретируются, осуществляется через типы данных. Типы данных могут быть примитивными или сложными. К примитивным типам данных относятся, например, int или double. У них есть определенная длина и особый способ интерпретации. В случае целого числа обычно первый бит используется для знака, остальные используются для значения.

Сложные типы данных могут быть комбинациями примитивных и других сложных типов данных и в Java называются "классом".

Вы можете определить сложный тип данных PeopleName, состоящий из двух строк, называемых именем и фамилией. Каждая строка в Java - это еще один сложный тип данных. Взамен строки (вероятно) реализованы с использованием примитивного типа данных char, для которого Java знает, сколько битов они берут для хранения и как их интерпретировать.

Когда вы создаете экземпляр типа данных, вы получаете объект и ваш компьютеры резервируют для него некоторую память и запоминают его местоположение и имя этого экземпляра. Экземпляр PeopleName в памяти займет место двух переменных String плюс немного больше для бухгалтерского учета. Целое число в Java занимает 32 бита.

Сложным типам данных могут быть назначены методы. Методы могут выполнять действия со своими аргументами или с экземпляром типа данных, из которого вы вызываете этот метод. Если у вас есть два экземпляра PeopleName с именами p1 и p2, и вы вызываете метод p1.getFirstName (), он обычно возвращает имя первого человека, но не имя второго человека.

вы получаете объект, и ваши компьютеры резервируют для него некоторую память и запоминают его местоположение и имя этого экземпляра. Экземпляр PeopleName в памяти займет место двух переменных String плюс немного больше для бухгалтерского учета. Целое число в Java занимает 32 бита.

Сложные типы данных могут иметь назначенные им методы. Методы могут выполнять действия со своими аргументами или с экземпляром типа данных, из которого вы вызываете этот метод. Если у вас есть два экземпляра PeopleName с именами p1 и p2, и вы вызываете метод p1.getFirstName (), он обычно возвращает имя первого человека, но не имя второго человека.

вы получаете объект, и ваши компьютеры резервируют для него некоторую память и запоминают его местоположение и имя этого экземпляра. Экземпляр PeopleName в памяти займет место двух переменных String плюс немного больше для бухгалтерского учета. Целое число в Java занимает 32 бита.

Сложные типы данных могут иметь назначенные им методы. Методы могут выполнять действия со своими аргументами или с экземпляром типа данных, из которого вы вызываете этот метод. Если у вас есть два экземпляра PeopleName с именами p1 и p2, и вы вызываете метод p1.getFirstName (), он обычно возвращает имя первого человека, но не имя второго человека.

Экземпляр PeopleName в памяти займет место двух переменных String плюс немного больше для бухгалтерского учета. Целое число в Java занимает 32 бита.

Сложным типам данных могут быть назначены методы. Методы могут выполнять действия со своими аргументами или с экземпляром типа данных, из которого вы вызываете этот метод. Если у вас есть два экземпляра PeopleName с именами p1 и p2, и вы вызываете метод p1.getFirstName (), он обычно возвращает имя первого человека, но не имя второго человека.

Экземпляр PeopleName в памяти займет место двух переменных String плюс немного больше для бухгалтерского учета. Целое число в Java занимает 32 бита.

Сложные типы данных могут иметь назначенные им методы. Методы могут выполнять действия со своими аргументами или с экземпляром типа данных, из которого вы вызываете этот метод. Если у вас есть два экземпляра PeopleName с именами p1 и p2, и вы вызываете метод p1.getFirstName (), он обычно возвращает имя первого человека, но не имя второго человека.

2
ответ дан 24 November 2019 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: