В настоящее время я беру класс java в университете. Это мой первый класс программирования, и я наткнулся на то, что я просто не могу понять. Как я узнал, существует два способа сравнения переменных. Первый использует ==
, !=
, <
, >
, =<
, >=
Знаки PRIMITIVE, такие как int, double и т. Д. а второй способ - использовать метод .equals() для ссылочного типа. Теперь вот мой вопрос:Может ли кто-нибудь объяснить мне метод .getClass() в java
Когда я использую метод .getClass()
, я могу сравнить два класса с методом .equals() и методом ==
/!=
. Так как я могу использовать знаки ==
/!=
, я бы предположил, что метод .getClass()
, который возвращает класс объекта, должен возвращать примитивный тип. Но поиск в google единственное, что я узнал об этом методе в API Java, это то, что он возвращает класс объекта. Он не сообщает мне тип переменной, который он возвращает. Как именно этот метод работает. Что он возвращает? Я попытался спросить своего учителя, но она не знала. Спасибо!
Не забывайте о 'ClassLoader', см. Ответ hotzst. – vektor
Я хотел бы поблагодарить вас за ваш ответ. Если я правильно понимаю, каждый класс создает уникальный экземпляр (объект) класса Class. Затем, когда вы используете метод getClass(), он возвращает ссылку на этот экземпляр класса. Таким образом, когда вы используете! = И ==, вы сравниваете два разных класса, чтобы увидеть, указывают ли они на одну и ту же ссылку в памяти. Это правильно? – John