класс и метод в Java - PullRequest
       2

класс и метод в Java

1 голос
/ 26 ноября 2009

Я не совсем понимаю, что из двух существует в памяти класс или объект?

Ответы [ 2 ]

3 голосов
/ 26 ноября 2009

Объект.

В некоторой степени класс тоже, но я думаю, что вы имеете в виду, чтобы уточнить, кто из них содержит данные.

Например:

Это класс:

class Employee {
    String name;
}

И экземпляр объекта будет:

Employee e = new Employee();
e.name = "himangi";

Employee other = new Employee();
other.name = "John";

Там у вас есть два объекта, e и other они существуют в памяти.

Что немного сбивает с толку, так это то, что Java также хранит определение класса как объект, поэтому во время выполнения вы можете иметь объект класса, который представляет класс Employee.

 Class employeeClass = Employee.class;
 System.out.println( employeeClass.getName() );

Но опять же, то, что существует в памяти, это объект.

1 голос
/ 26 ноября 2009

Класс является планом для объекта.

Класс определяет методы и свойства, которые объект будет поддерживать / использовать.

Объект является экземпляром светокопии.

Каждый раз, когда вы создаете объект, он будет храниться в памяти,

т.е. 10 объектов = 10 сохраненных в памяти экземпляров

Класс хранится в памяти, так что среда выполнения может «найти» определение класса / проект и создать для вас новый экземпляр.

Разница в том, что в памяти будет храниться только одно определение класса, независимо от количества создаваемых вами объектов.

1 Определение класса может иметь много экземпляров объекта (если только класс не помечен как статический, в этом случае есть 1 определение класса и 1 экземпляр.).

То же самое верно для большинства компилируемых языков.

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