Change Contents of the Bubble
View this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

PreQuiz 2 - Spring 2006

Here's the Student.java class that we created in class.

public class Student extends Person {
  
  private String school;
  private int schoolID;
  
  public Student(String someName){
    super(someName); // Must be the first line
    this.defaultSchool();
  }
  
  public Student(String someName, int someID){
    super(someName,someID);
    this.defaultSchool();
  }
  
  public String getSchool(){
    return this.school;
  }
  
  public void setSchool(String someSchool,int someID){
    this.school = someSchool;
    this.schoolID = someID;
  }
  
  public void defaultSchool(){
    this.school = "Gwinnett College";
  }
  
  public String toString(){
    return super.toString()+". And I'm a student at "
      +this.getSchool()+" and my school ID is "+this.schoolID;
    /*return "I'm a student at "
      +this.getSchool()+" and my school ID is "+this.schoolID;*/
  }
  
  public void greet(){
    super.greet();
    System.out.println("Go away -- I'm late for class! I'm a student at "
                         +this.getSchool());
  }
  
  public void countDownFrom(int endNumber){
    System.out.println("Counting..."+endNumber);
    if (endNumber == 1)
    {return;}
    countDownFrom(endNumber-1);
  }

}


Write a new constructor so that we can create students with a Name, ID, School, and School ID.

Comments, questions, and answers!



public Student(String someName, int someID, String school, int schoolID){
    super(someName,someID);
    this.setSchool(school, schoolID);
  }

So, we don't have to declare the 2 new variables, since they are already declared before the constructors,
and the superclass (Person) already sets name and id, so all we have to do is add the 2 input parameters and
call setSchool().

My question is this:
Traditionally, variables are local to functions... Does this hold true to the constructor?–
In other words, can I name 2 of my inputs String school and int schoolID in a constructor? It seems reasonable...
But I want to be sure they don't refer to the 2 defined in the class...

Try it! Mark Guzdial



Links to this Page