1. For this lab, you are going to add more methods and attributes to the three classes: Person, Student, and Undergraduate.
a) Add a toString() method for each class.
b) Add a readInput() method for each class.
c) Add a final method updateGPA (double currentGpa, double semesterGpa) in Student.
d) Add an abstract method studyingIsFun(int numHrs, String location) in Student. Given the number of hours and location, your program should advice the student whether to continue or to change his/her practice in order to be successful.
2. Create an interface HavingFun with methods: listeningToMusic(), playingSoccer(), and two more methods of your choice. Create an interface StayingInTouch with methods: Family(int hrs) and Friends(int hrs). Given the number of hours, your program will tell whether or not it is good idea and provide suggestions (i.e., in class Undergraduate).
3. Undergraduate should extend from class Student and implement both interfaces: HavingFun and StayingInTouch.
4. In UndergraduateDemo create two undergraduate students; allow a student to update his/her GPA; allow a student to study, have fun, and stay in touch with family and friends.