Problem solving in java
Problem statementEmployee management system This program is also an extension of the previous programming assignment 2. Feel free to useyour code from program 2 if needed.You will be writing a multiclass user management system using the java. Create a program thatimplements a minimum of four classes. The classes must include:1.Employee Class with the attributes of Employee ID, First Name, Middle Initial, LastName, Date of Employment.2.EmployeeType Class that has two instances of EmployeeType objects: salaried andhourly. Each object will have methods that calculates employees payroll( you may useattributes from Assignment 2), but you must handle the calculation in a method. Assumethat you have hourly employees who work overtime and if the hours they worked over 40hours, they must be paid one-and-one-half times the regular rate of pay for all hoursworked over 4o hours. Both federal and state tax must be calculated3.Address Class that handles address of the employee: attributes include street address,city, state, zip code,4.Contact Class - The Contact class will have email and phone attributes, you may alsocreate an instance of Address object.The above four classes are required, but you can add more if you want to make yourprogram a realistic application of the real world.Note Be Careful.1.Do not accept negative number for any of the items entered.2.The program must be able to register a minimum of three employees at a time. 3.Registered employees can be looked up using their employee id(3 points Extracredit, you are not permitted to use Array)4.Use different data types (int, string, double, boolean, char)5.Do not use array in this program - if you use array, you will lose 15 points