Чем отличаются методы от конструкторов в java?

94
06 апреля 2021, 23:10

Чем отличаются методы от конструкторов в java? Для чего нужно то и другое?

Answer 1

Конструктор предназначен для создания экземпляра класса (объекта) при помощи ключевого слова new и могут иметь имена только совпадающие с именем класса.

Методы выполняют операции данными как для существующих объектов, так и без создания объекта вовсе (статические методы).

Из конструкторов нельзя ничего возвращать, т.к. по сути они уже возвращают объект класса. Методы должны возвращать хотя бы void.

Answer 2

Главное отличие между конструкторами и методами в том, что конструкторы инициализируют объекты, создаваемые с помощью оператора new, в то время как методы выполняют операции с уже существующими объектами.

Конструкторы не могут быть вызваны напрямую; они вызываются когда объект создается с помощью ключевого слова new. Методы же, могут быть вызваны напрямую у объекта, который уже был создан.

Определение конструкторов и методов похожи. Они могут принимать параметры, иметь модификаторы (т.е. public), а так же имеют тело которое будет выполняться.

Конструкторы могут иметь только имя совпадающее с именем класса. Из них нельзя ничего возвращать, даже void, так как на самом деле они уже возвращают новый объект.

Методы должны что-то возвращать, хотя бы void.

перевод ответа @rgettman

Answer 3

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

READ ALSO
Зачем нужно пробрасывать исключения?

Зачем нужно пробрасывать исключения?

Зачем нужно пробрасывать исключения? Почему может быть нельзя из сразу обработать?

105
WebView API 28 не работает

WebView API 28 не работает

Есть WebView который подгружает локальный (хранящийся в память приложения) файл indexhtml

103
Использование разных targetNamespace для одного Wsdl

Использование разных targetNamespace для одного Wsdl

Я использую Spring-ws для написания SOAP-клиентаПри этом на сервере используются две wsdl для тестовой и продакшн сред, одинаковые по содержанию,...

102