Source of Student.java


  1: //Student.java
  2: 
  3: public class Student extends Person
  4: {
  5:     private int studentNumber;
  6: 
  7:     public Student()
  8:     {
  9:         super();
 10:         studentNumber = 0; //Indicating no number yet
 11:     }
 12: 
 13:     public Student
 14:     (
 15:         String initialName,      //in
 16:         int initialStudentNumber //in
 17:     )
 18:     {
 19:         super(initialName);
 20:         studentNumber = initialStudentNumber;
 21:     }
 22: 
 23:     public void reset
 24:     (
 25:         String newName,
 26:         int newStudentNumber
 27:     )
 28:     {
 29:         //super.name = newStudentName;  //can't do this ... why not?
 30:         super.setName(newName);
 31:         studentNumber = newStudentNumber;
 32:     }
 33: 
 34:     public int getStudentNumber()
 35:     {
 36:         return studentNumber;
 37:     }
 38: 
 39:     public void setStudentNumber
 40:     (
 41:         int newStudentNumber //in
 42:     )
 43:     {
 44:         studentNumber = newStudentNumber;
 45:     }
 46: 
 47:     public void writeOutput()
 48:     {
 49:         super.writeOutput();
 50:         //System.out.println("Name: " + getName());
 51:         System.out.println("Student Number: " + studentNumber);
 52:     }
 53: 
 54:     public boolean equals
 55:     (
 56:         Student otherStudent //in
 57:     )
 58:     {
 59:         return this.hasSameName(otherStudent) &&
 60:               (this.studentNumber == otherStudent.studentNumber);
 61:     }
 62: 
 63: 
 64:     public String toString()
 65:     {
 66:         return "Name: " + getName() +
 67:                            "\nStudent number: "  + studentNumber;
 68:     }
 69: 
 70:  /* 
 71:   * A much better equals() method definition
 72:   *
 73:     public boolean equals(Object otherObject)
 74:     {
 75:         if (otherObject == null)
 76:             return false;
 77:         else if (!(otherObject instanceof Student))
 78:             return false;
 79:         else
 80:         {
 81:             Student otherStudent = (Student)otherObject;
 82:             return (this.sameName(otherStudent)
 83:                 && (this.studentNumber ==
 84:                                 otherStudent.studentNumber));
 85:         }
 86:     }
 87: */
 88: 
 89: }