Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

***********IN JAVA************* Design a class named Person and its two subclass

ID: 3872688 • Letter: #

Question

***********IN JAVA*************

Design a class named Person and its two subclasses named Student and Employee.

Make Faculty and Staff subclasses of Employee.

*************************************************************************************************************************************************

Importannt Note: DO NOT MAKE ANY OF THESE CLASSES PUBLIC. LEAVE THEM AS PACKAGE(DEFAULT) VISIBILITY.

*************************************************************************************************************************************************

A person has a name, address, phone number, and email address.

A student has a class status (freshman, sophomore, junior, or senior). Define the status as a constant.

An employee has an office, salary, and date hired.

A faculty member has office hours and a rank.

A staff member has a title.

Override the toString method in each class to display the class name and the person’s name.

Write a test program that creates a Person, Student, Employee, Faculty, and Staff, and invokes their toString() methods.

Sample Output:

class Person person_name

class Student student_name

class Employee employee_name

class Faculty faculty_name

class Staff staff_name

*******Use the following class driver with no modifications to it!********

import java.util.*;
import java.lang.*;
import java.io.*;

class DriverMain{

public static void main(String args[]){

  

Person person = new Person("person_name");

Person student = new Student("student_name");

Person employee = new Employee("employee_name");

Person faculty = new Faculty("faculty_name");

Person staff = new Staff("staff_name");

  

System.out.println(person.toString());

System.out.println(student.toString());

System.out.println(employee.toString());

System.out.println(faculty.toString());

System.out.println(staff.toString());   

}

}

***********************************************************************************

---And use the following class that was refered to in main and add the subclasses!!----

class Person{
  
}

Leaving comments in the code would be much appreciated to help me understand the code more!

PLEASE follow assignment instructions as I am having trouble understanding everything completely!

ALSO the output only needs to be printed once!

Explanation / Answer

class Person

{

private String name, address, phoneNumber, emailAddress;

  

public Person(String name)

{

this.name = name;

}

  

public String toString()

{

return " Class Person "+name;

}

public String getName()

{

return name;

}

}

class Student extends Person

{

private String status,dateHired;

private double salary;

  

public Student(String name)

{

super(name); //calling base class constructor

}

public String toString()

{

return " Class Student "+getName();

}

}

class Employee extends Person

{

private String status,dateHired;

private double salary;

  

public Employee(String name)

{

super(name);

}

public String toString()

{

return " Class Employee "+getName();

}

}

class Faculty extends Employee

{

private String office;

public Faculty(String name)

{

super(name);

}

public String toString()

{

return " Faculty " +getName();

}

}

class Staff extends Employee

{

private String title;

  

public Staff(String name)

{

super(name);

}

  

public String toString()

{

return " Staff "+getName();

}

  

  

}

class DriverMain{

public static void main(String args[]){

  

Person person = new Person("person_name");

Person student = new Student("student_name");

Person employee = new Employee("employee_name");

Person faculty = new Faculty("faculty_name");

Person staff = new Staff("staff_name");

  

System.out.println(person.toString());

System.out.println(student.toString());

System.out.println(employee.toString());

System.out.println(faculty.toString());

System.out.println(staff.toString());

}

}

Output: