Alice is going to create a notebook including the profile of allher friends. For each of her friends, she would like to keepfirst-name, last-name, cell number, and birthdate (month and day).At the beginning, she doesn’t know how many spaces she shouldreserve for recording her friends, so she gradually inputs herfriends’ information into it. Please help her by first creating aJava class, called Person, with the required information fromdescription above, along with any required setter/getter methods.Then create, a Java class, called FriendsList, that keeps the listof some persons as someone’s friends, using the Person class above,and performs the required operations, such as add new friends,delete/ modify an existing one, return the list of her friendssorted by last-names, report the number of her friends, report thelist of her friends who born in a given month sorted by their dayof birth, and report the list of her friends who born in a givenday of a month, sorted by their last-names. She also needs to getthe cell number of a friend by giving her/his first-name andlast-name. Create a tester class, called MyFriends, to test theFriendList class by creating a new object of this class, addingsome friends, modifying and deleting some existing friends,retrieving and printing all friends, retrieving and printing thelist of friends who born in a given month, retrieving and printingthe list of friends who born in a given day of a month, and findingthe cell number of an existing friend by giving her/his first-nameand last-name. Also, create a separate copy of the FriendListobject you have already created, and remove all friends withfirst-name “Shane†from the new object.
Create a subclass of Person, called Employee, such that it cankeep extra information of a person including year of hiring, annualsalary, vacation days, and unused vacation days. Provide requiredsetter/getter methods for this class. Create a subclass ofEmployee, called Manager, which also has monthly bonus, and thelist of all her/his employees. Provide required setter/gettermethods for this class. Create a class, called Company, with thefollowing information: name of the company, starting year, and thelist of all its employees/managers. Provide required setter/gettermethods for this class. Create a tester class, called MyCompany, inwhich you should test all the above classes by creating a company,adding some employees/managers into it. Bonus: Provide two listingsof the company’s employees/managers, one sorted by last-names, andone sorted by each manager and then her/his employees.