class Person { public Person( String n, int a ) { this( n, a, "unknown" ); } public Person( String n, int a, String add ) { this( n, a, add, "unlisted" ); } public Person( String n, int a, String add, String pn ) { name = n; age = a; address = add; phoneNumber = pn; } public String toString( ) { return name + " " + age + " " + phoneNumber + " " + address; } public String getName( ) { return name; } public int getAge( ) { return age; } public String getAddress( ) { return address; } public String getPhoneNumber( ) { return phoneNumber; } private String name; private int age; private String address; private String phoneNumber; } class Student extends Person // Student IS-A Person { public Student( String n, int a, String add, String pn, double g ) { super( n, a, add, pn ); init( g ); } public Student( String n, int a, double g ) { super( n, a ); init( g ); } public Student( String n, int a, String add, double g ) { super( n, a, add ); init( g ); } private void init( double g ) { gpa = g; } public String toString( ) { return super.toString( ) + " " + gpa; } public double getGPA( ) { return gpa; } private double gpa; } class Employee extends Person { public Employee( String n, int a, String add, String pn, double sal ) { super( n, a, add, pn ); salary = sal; } public Employee( String n, int a, double sal ) { super( n, a ); salary = sal; } public String toString( ) { return super.toString( ) + " who makes $" + salary; } public double getSalary( ) { return salary; } private double salary; } class Day2 { public static void printAllPersons( Person [ ] arr ) { for( int i = 0; i < arr.length; i++ ) System.out.println( "Person #" + i + ": " + arr[ i ].toString( ) ); } // Assume there is one person in position 0 public static Person getOldest( Person [ ] arr ) { Person oldest = arr[ 0 ]; for( int i = 1; i < arr.length; i++ ) if( arr[ i ] != null && arr[ i ].getAge( ) > oldest.getAge( ) ) oldest = arr[ i ]; return oldest; } public static void main( String [ ] args ) { Person [ ] arr = new Person[ 5 ]; arr[ 0 ] = new Student( "Jane", 29, "1 Ocean Dr", "305-673-0000", 4.0 ); arr[ 4 ] = new Student( "Chris", 31, "11200 SW 8 St", 3.7 ); arr[ 2 ] = new Student( "Fran", 30, 3.9 ); arr[ 3 ] = new Person( "Jim", 41 ); arr[ 1 ] = new Employee( "Mitch", 62, 500000.0 ); printAllPersons( arr ); System.out.println( "Oldest person is " + getOldest( arr ) ); } }