The Person, Student, Employee, Faculty, Staff Classes
The code has been modified slightly and now uploaded to the site.

Main.java
public class Main{
public static void main(String[] args) {
Person me = new Person("William", "1100 Awesome Place", "123-456-7899", "willysemail@great.com");
System.out.println(me);
// Grade myGrade = Grade.SENIOR;
// me = new Student("William", "1100 Awesome Place", 1234567899, "willysemail@great.com", Grade.SENIOR);
// System.out.println(me);
// COULD WORK WITH PERSON
Student bro = new Student("William", "1100 Awesome Place", "123-456-7899", "willysemail@great.com", Grade.SENIOR);
System.out.println(bro);
Employee worker = new Employee("Billy", "1234 Hek", "555-444-3332", "ironworkers@geemails.com", "E building", 10000, "11/20/2021");
System.out.println(worker);
Faculty pro = new Faculty("Jerry", "5523 Gregory Ave", "323-545-8826", "jumbolyah@hotmail.com", "E building", 10000, "11/19/2021", "11 AM - 6 PM", "Corporal");
System.out.println(pro);
Staff prof = new Staff("Darbandi", "100 W 49th Ave", "604-323-5511", "hdarbandi@langara.ca", "B building", 30000, "1/1/2011", "College Professor");
System.out.println(prof);
}
}
enum Grade {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR};
class Person{
private String name;
private String address;
private String phoneNumber;
private String email;
public Person(){
}
public Person(String name, String address, String phoneNumber, String email){
this.name = name;
this.address = address;
this.phoneNumber = phoneNumber;
this.email = email;
}
@Override
public String toString(){
return "Name: " + name + " Address: " + address + " Phone Number: " + phoneNumber + " Email: " + email;
}
}
class Student extends Person{
private Grade theStatus;
public Student(){
}
public Student(String name, String address, String phoneNumber, String email, Grade status){
super(name, address, phoneNumber, email);
theStatus = status;
}
@Override
public String toString(){
return super.toString() + " Status: " + theStatus;
}
}
class Employee extends Person{
private String office;
private double salary;
private String dateHired;
public Employee(){
}
public Employee(String name, String address, String phoneNumber, String email, String office, double salary, String dateHired){
super(name, address, phoneNumber, email);
this.office = office;
this.salary = salary;
this.dateHired = dateHired;
}
@Override
public String toString(){
return super.toString() + " Office: " + office + " Salary: $" + salary + " Date Hired: " + dateHired;
}
}
class Faculty extends Employee{
private String officeHours;
private String rank;
public Faculty(){
}
public Faculty(String name, String address, String phoneNumber, String email, String office, double salary, String dateHired, String officeHours, String rank){
super(name, address, phoneNumber, email, office, salary, dateHired);
this.officeHours = officeHours;
this.rank = rank;
}
@Override
public String toString(){
return super.toString() + " Office Hours: " + officeHours + " Rank: " + rank;
}
}
class Staff extends Employee{
private String title;
public Staff(){
}
public Staff(String name, String address, String phoneNumber, String email, String office, double salary, String dateHired, String title){
super(name, address, phoneNumber, email, office, salary, dateHired);
this.title = title;
}
@Override
public String toString(){
return super.toString() + " Title: " + title;
}
}