Повторяющийся метод Meeting(String) в типе Meeting - Ошибка
Привет, ребята. У меня ошибка в отношении дублирующих конструкторов, но в соответствии с моим заданием мне нужен другой конструктор, но другое поле.
Характеристики:
- Встреча - Место, Тема, список участников в виде массива строк, заметки, метод addAttendee (имя строки).
- Конструктор для установки одного участника в массив участников.
- Конструктор для принятия массива строк, назначенных списку участников.
- Еще два конструктора, которые совпадают с предыдущими двумя, но позволяют установить поле примечания в виде строки.
Вот часть кода
public Meeting(String name) {
this.name = name;
listofAttendees[count] = name;
count++;
// blank constructor for no parameter super constructor
}
// Constructor to accept an array of strings assign to the list of Attendees
public Meeting(String[] listofAttendees) {
this.listofAttendees = listofAttendees;
}
// CONStructors for note field
public Meeting(String notes) { // Error here!
this.notes = notes;
}
3 ответа
Вы не можете иметь более одного метода с одинаковым именем и параметрами одного типа.
Сделайте только один конструктор с именем и примечаниями, и если вы хотите назначить только то есть имя, передайте нулевой параметр как примечания.
public Meeting(String names, String notes);
Вы получаете ошибку Duplicate Constructor, потому что если вы посмотрите на эти два конструктора
- Встреча (Строковое имя)
- Встреча (Струнные заметки)
они в основном имеют одну и ту же сигнатуру метода. Вы должны думать о чем-то другом, чтобы обойти это.
Ваша спецификация в основном просит вас добавить поле 'notes' в дополнение к полям, присутствующим в ваших предыдущих конструкторах. Таким образом, это не будет конфликтовать с сигнатурами вашего метода.
"names" и "notes" - это просто локальные переменные, ваши функции со стороны выглядят абсолютно одинаково, поэтому неоднозначность. Вы, вероятно, должны иметь конструктор с обоими параметрами. Как вы говорите, какой конструктор вы вызываете извне, как new MyClass(myString)