Define aclass named Person and its two subclasses named Student and Employee.Make Faculty and Staff subclasses of Employee. A person has a name,address, phone number, and email address and birthDate. A student has a department, and a class status (first year, second year, third year, fourth year, fifth year ). An employee hasan office, salary, and date hired. Use the java.util.Dateclass to create objects for birthDate and date hired. A faculty member has officehours and a rank. A staff member has a title. Override the toString() and equal()methods ineach class.toString()should return all info of the object. equal()method must check equality of employees based on salary and name, and equality of students based on name and class status i.e. two employees are considered equal if they have the same name and salary and two students are considered equal if they have the same name and class status.
Write a test program in which you define objects from employee and student and make calls to at least 5 methods.
- Chose reasonable data types for all attributes.
- In every class there must be at least two constructors (a no-arg constructor + a constructor with parameters)
- Define setter and getter methods in all classes.
- You have to use the this and super keywords at least twice each.