Повторяющийся метод Meeting(String) в типе Meeting - Ошибка

Привет, ребята. У меня ошибка в отношении дублирующих конструкторов, но в соответствии с моим заданием мне нужен другой конструктор, но другое поле.

Характеристики:

  1. Встреча - Место, Тема, список участников в виде массива строк, заметки, метод addAttendee (имя строки).
  2. Конструктор для установки одного участника в массив участников.
  3. Конструктор для принятия массива строк, назначенных списку участников.
  4. Еще два конструктора, которые совпадают с предыдущими двумя, но позволяют установить поле примечания в виде строки.

Вот часть кода

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, потому что если вы посмотрите на эти два конструктора

  1. Встреча (Строковое имя)
  2. Встреча (Струнные заметки)

они в основном имеют одну и ту же сигнатуру метода. Вы должны думать о чем-то другом, чтобы обойти это.

Ваша спецификация в основном просит вас добавить поле 'notes' в дополнение к полям, присутствующим в ваших предыдущих конструкторах. Таким образом, это не будет конфликтовать с сигнатурами вашего метода.

"names" и "notes" - это просто локальные переменные, ваши функции со стороны выглядят абсолютно одинаково, поэтому неоднозначность. Вы, вероятно, должны иметь конструктор с обоими параметрами. Как вы говорите, какой конструктор вы вызываете извне, как new MyClass(myString)

Другие вопросы по тегам