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:     public Student
 13:     (
 14:         String initialName,
 15:         int initialStudentNumber
 16:     )
 17:     {
 18:         super(initialName);
 19:         studentNumber = initialStudentNumber;
 20:     }
 21: 
 22:     public void reset
 23:     (
 24:         String newName,
 25:         int newStudentNumber
 26:     )
 27:     {
 28:         //super.name = newStudentName;  //can't do this ... why not?
 29:         super.setName(newName);
 30:         studentNumber = newStudentNumber;
 31:     }
 32: 
 33:     public int getStudentNumber()
 34:     {
 35:         return studentNumber;
 36:     }
 37: 
 38:     public void setStudentNumber
 39:     (
 40:         int newStudentNumber
 41:     )
 42:     {
 43:         studentNumber = newStudentNumber;
 44:     }
 45: 
 46:     public void writeOutput()
 47:     {
 48:         super.writeOutput();
 49:         //System.out.println("Name: " + getName());
 50:         System.out.println("Student Number: " + studentNumber);
 51:     }
 52: 
 53: /*
 54: */
 55:     public boolean equals
 56:     (
 57:         Student otherStudent
 58:     )
 59:     {
 60:         return this.hasSameName(otherStudent) &&
 61:               (this.studentNumber == otherStudent.studentNumber);
 62:     }
 63: 
 64:     public String toString()
 65:     {
 66:         return "Name: " + getName() +
 67:                "\nStudent number: "  + studentNumber;
 68:     }
 69: 
 70:     public static void main(String[] args)
 71:     {
 72:         System.out.println("1===============");
 73:         Student s1 = new Student();
 74:         Student s2 = new Student();
 75:         System.out.println(s1 == s2);
 76:         System.out.println(s1.equals(s2));
 77:         String s3 = "Joe";
 78:         System.out.println(s1.equals(s3));
 79:         //Student s4 = null;
 80:         //System.out.println(s1.equals(s4));
 81: 
 82:         System.out.println("2===============");
 83:         s1.writeOutput();
 84:         System.out.println(s1);  //What does this print and why?
 85:     }
 86: }
 87: 
 88: 
 89: 
 90:  /* 
 91:   * A much better equals() method definition
 92:   *
 93:     public boolean equals(Object otherObject)
 94:     {
 95:         if (otherObject == null)
 96:             return false;
 97:         else if (!(otherObject instanceof Student))
 98:             return false;
 99:         else
100:         {
101:             Student otherStudent = (Student)otherObject;
102:             return (this.hasSameName(otherStudent)
103:                 && (this.studentNumber ==
104:                     otherStudent.studentNumber));
105:         }
106:     }
107: */