public class Student extends Person
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: }