我有一個名爲學生構造:如何在方法內調用構造函數?
public Student(String suppliedFirstName, String suppliedLastName, int suppliedAge) {
firstName = suppliedFirstName;
lastName = suppliedLastName;
age = suppliedAge;
}
構造函數稱爲部分:
public Section(String inName, int inMaximum) {
name = inName;
maximumStudents = inMaximum;
List<Student> studentRoster = new ArrayList<Student>();
List<Student> studentWaitList = new ArrayList<Student>();
}
和一種方法,我想通過調用學生構造給學生添加到列表studentRoster:
public void signUp(Student inStudent()) {
if(studentRoster.size() == maximumStudents) {
studentWaitList.add(inStudent());
return;
}
studentRoster.add(inStudent());
}
當我試圖做到這一點時,我不斷收到錯誤,說我還沒有完成MethodDeclaration。什麼是適當的語法來正確地做到這一點?
您不要像在「Student inStudent()」中那樣在變量名後加上括號。此外,您的studentRoster和studentWaitList是局部變量,只要Section構造函數完成就會消失。 – Kayaman
您將需要聲明您的studentRoster和studentWaitList列表作爲實例變量。目前它們是您的Section構造函數的局部變量,在構造函數完成後您將失去對它們的訪問權限。如果它們已經是實例變量,那麼你在映射它們,而不是在構造函數中初始化它們。 – Jems
更改'public void signUp(Student inStudent()){'to'public void signUp(Student inStudent){' - 這將消除該錯誤。當然,你的代碼還有很多其他問題。 –