Я новичок в Java, поэтому не знаю, что именно представляет собой проблема с моим кодом. Я продолжаю получать проблему неразрешенной компиляции: конструктор Student() не определен. Я работаю над этим часами, но я не уверен, в чем проблема. Я был бы признателен за помощь. Благодаря! Как вы определяете конструктор в Java?
ответ
Вы создали свой конструктор правильно:
public Student (String n, char g, Date b, Preference p){
name = n;
gender = g;
birthDay = b;
pref = p;
}
Однако этот конструктор работает только со всеми этими аргументами. Вы пытаетесь создать объект-ученик без каких-либо параметров в конструкторе. Этот случай называется конструктором по умолчанию .
Чтобы сделать такой конструктор, вы могли бы сделать:
public Student(){
//some default initializations
}
Вы вызываете новую Student() без аргументов. Это называется конструктором по умолчанию. Вам не нужно указывать конструктор по умолчанию, если нет других конструкторов. Но если у вас есть другой конструктор, который принимает аргументы, тогда вы должны указать его.
Вам просто нужно добавить это в свой класс учеников.
public Student(){
}
Вам нужно передать значение для n
, g
, b
, p
.
Так new Student("hi", 'a', new Date(), myPreference)
Добавить еще один конструктор, который называется no-argument constructor к классу студентов. Потому что в цикле for
вы используете один без каких-либо аргументов. И вы не определили его в классе Студента.
Просто добавьте следующие строки.
public Student() {
}
при инициализации переменных в Student() они должны иметь модификаторы:
private String name;
private char gender;
private Boolean matched;
и т.д.; это может быть причиной вашей ошибки.
Вы инстанцирование студента, используя
new Student()
Что это неправильно, потому что вы еще не определили конструктор, который не принимает никаких параметров.
Вы можете это исправить, либо определяя новый конструктор
public Student(){
//Set default values here
}
Или с помощью конструктора у вас уже есть.
Student bestStudent = new Student("Bryan", 'm', ...);
Java предоставляет конструктор по умолчанию для класса, если вы его не определяете (в данном случае Student()).Однако, поскольку определенный конструктор Student (String s, char c, Date d, Preference p), этот конструктор по умолчанию не предоставляется автоматически.
Теперь вам нужно либо использовать указанный вами конструктор. Или реализовать конструктор в классе Student, который не принимает никаких параметров
public Student() { }
Вы можете использовать это, чтобы вызвать другой конструктор с переменными по умолчанию.
public Student() {
this("", '', null, null); //Assuming you code is made to handle such a situation
}
Пример: Если у вас есть класс с именем Main Таким образом, вы можете определить конструктор для этого класса, как:
Main(){
}
Для получения более подробной информации о конструкторах, пожалуйста, обратитесь к this link.
- 1. Как вы правильно определяете команду в Java?
- 2. Как вы определяете размер массива строк java?
- 3. StructureMap: Как вы определяете конструктор по умолчанию для открытого общего?
- 4. Как вы определяете @interface в Scala?
- 5. Как вы определяете приоритеты глобальных конструкторов?
- 6. Как вы определяете вектор просмотра?
- 7. Как вы определяете тип прокси?
- 8. Как вы определяете метод класса?
- 9. Как вы определяете программный компонент?
- 10. Как вы определяете действительный SoapAction?
- 11. Как вы определяете объект HTTP?
- 12. Как вы определяете версию компилятора Java в файле pom.xml?
- 13. В Java, как вы определяете, работает ли поток?
- 14. Как вы определяете переменную с оператором ИЛИ в Java
- 15. Как и где вы определяете собственную иерархию Exception в Java?
- 16. Когда вы определяете класс?
- 17. Где вы определяете иерархию исключений
- 18. Что вы определяете функцию?
- 19. Как вы определяете, является ли String палиндром?
- 20. Как вы определяете тип денег в F #
- 21. Как вы определяете тип функции в Scala?
- 22. Как вы определяете пути в приложении?
- 23. Как вы определяете «понимание стойки» в Hadoop?
- 24. Это как вы определяете функцию в jQuery?
- 25. Как вы определяете деконструктор в C++?
- 26. Как вы определяете дату в ASP.NET MVC
- 27. Как вы определяете сводную таблицу в Delphi?
- 28. Как вы определяете $? опции в файле rpm
- 29. Как вы определяете упорядоченную пару в Coq?
- 30. Как вы определяете относительную частоту в python
Ваш конструктор определен правильно, но ожидает параметров. Ваш основной класс не передает никакие параметры конструктору. (Кроме того, лучше всего включить ваш код в виде текста, а не как изображение) – sstan
Спасибо! где бы я поместил параметры? Студенческий beststudent = новый Студент (внутри здесь?); – Jorge
Jorge, см. Вопросы ниже и отметьте тот, который решил вашу проблему, они уже ответили на этот вопрос :) –