Listing 2-1 The class Student

public class
    Student
{
    private  Name fullName;
    private  String id; // identification number

    public Student ()
    {
        fullName = new Name ();
        id = "";
    } // end default constructor


    public Student (Name studentName, String studentId)
    {
        fullName = studentName;
        id = studentId;
    } // end constructor


    public void setStudent (Name studentName, String studentId)
    {
        setName (studentName); // or fullName = studentName;
        setId (studentId); // or id = studentId;
    } // end setStudent


    public void setName (Name studentName)
    {
        fullName = studentName;
    } // end setName


    public Name getName ()
    {
        return fullName;
    } // end getName


    public void setId (String studentId)
    {
        id = studentId;
    } // end setId


    public String getId ()
    {
        return id;
    } // end getId


    public String toString ()
    {
        return id + " " + fullName.toString ();
    } // end toString
} // end Student

 

 

 

Listing 2-2 The Class OrderedPair

public class OrderedPair < T >
{
    private T first, second;
    public OrderedPair ()
    {
    } // end default constructor


    public void setPair (T firstItem, T secondItem)
    {
        first = firstItem;
        second = secondItem;
    } // end setPair


    public void changeOrder ()
    {
        T temp = first;
        first = second;
        second = temp;
    } // end changeOrder


    public String toString ()
    {
        return "(" + first + ", " + second + ")";
    } // end toString
} // end OrderedPair

 

 

 

Sample Code Using Class OrderedPair

OrderedPair < String > fruit = new OrderedPair < String > ();
fruit.setPair ("apples", "oranges");
System.out.println (fruit);
fruit.changeOrder ();
System.out.println (fruit);
Name tweedleDee = new Name ("Tweedle", "Dee");
Name tweedleDum = new Name ("Tweedle", "Dum");
OrderedPair < Name > couple = new OrderedPair < Name > ();
couple.setPair (tweedleDee, tweedleDum);
System.out.println (couple);
couple.changeOrder ();
System.out.println (couple);

Output

(apples, oranges)
(oranges, apples)
(Tweedle Dee, Tweedle Dum)
(Tweedle Dum, Tweedle Dee)

 

 

 

Listing 2-4  The class NickName

public class NickName
{
    private Name nick;
    public NickName ()
    {
        nick = new Name ();
    } // end default constructor


    public void setNickName (String nickName)
    {
        nick.setFirst (nickName);
    } // end setNickName


    public String getNickName ()
    {
        return nick.getFirst ();
    } // end getNickName
} // end NickName

 

 

 

Listing 2-5   The class CollegeStudent

public class CollegeStudent extends Student
{
    private int year; // year of graduation
    private String degree; // degree sought
    public CollegeStudent ()
    {
        super (); // must be first
        year = 0;
        degree = "";
    } // end default constructor


    public CollegeStudent (Name studentName, String studentId,
            int graduationYear, String degreeSought)
    {
        super (studentName, studentId); // must be first
        year = graduationYear;
        degree = degreeSought;
    } // end constructor


    public void setStudent (Name studentName, String studentId,
            int graduationYear, String degreeSought)
    {
        setName (studentName); // NOT fullName = studentName;
        setId (studentId); // NOT id = studentId;
        // or setStudent(studentName, studentId); (see Segment 2.21)
        year = graduationYear;
        degree = degreeSought;
    } // end setStudent


    < The methods setYear, getYear, setDegree, and getDegree go here. >
        . . .
        public String toString ()
    {
        return super.toString () + ", " + degree + ", " + year;
    } // end toString
} // end CollegeStudent