Я новичок в java, получил контроль над основами, но следующий код заставляет меня путать концепцию конструктора, т. Е. Кажется, отличается от того, что я изучал (я не уверен, однако, я начинаю здесь) .. так может кто-нибудь, пожалуйста, объясните это мне.Способы реализации конструктора
код, который я получил:
public void Msg(String from, String to, String subject) {
setFrom(from);
setTo(to);
setSubject(subject);
}
Я думал, что это будет работать так же, если я изменить его на следующий код:
public void Msg(String from, String to, String subject) {
setFrom = from;
setTo = to;
setSubject = subject;
}
, но он не работает после изменения. Любой может рассказать мне, что может быть причиной этого?
Это метод, а не конструктор. Конструкторы не имеют типов возврата ('void') и имеют то же имя, что и класс. Что касается 'setFrom (from)' to' setFrom = from' не работает, 'setFrom (from)' является вызовом метода, для которого требуется объявление метода, чтобы иметь возможность сделать это. 'setFrom = from' назначает переменную. Для этого нужно объявить переменную 'setFrom'. Синтаксис не является взаимозаменяемым. –
Во-первых, ваше объявление конструктора неверно, так как оно не может иметь тип возврата ('void') в вашем случае. –
'setFrom' и т. Д. - это метод, поэтому вы не можете присвоить ему значение. –