In JAVA Application Setup Part 1: When the application is launched it will create students of a superclass and a subclass and store them in a ArrayList. Then the application will loop through the list and output information about the students. There won't be any user input in this part, the application will create the objects. Part 2: When the application is launched the user will be asked to enter a student. After the use has entered data about a student, the application will ask them if they would like to enter information about another. When the user is done entering students the application will output data about each student. The students entered can be high-school students, middle-school students, or elementary students. The entered students will all be stored in an ArrayList. When all students have been entered the application will loop through the list and output data about each student. Details - Part 1 Details: - Create a class that holds data for a general student. - Create instance variables for student id, name, school, extracurricular activities, and homeroom teacher. - Create get and set methods for the instance variables. - Create a method named tostring( ) that has no parameters and returns a string with the data about this class. - Next, create a subclass of the first class. This class will add a new field and override a method. Specifics: - Create a kindergarten student subclass of the general student class. - Add a new instance variable for a show and tell item. Create get and set methods for the field. - Override the toString( ) method and output information about kindergarten students. Label the student as a kindergarten student and include the show and tell item. - Include these classes in your high-level design, class identification, Prep code, and Test code.
- Create an abstract class that includes some basic data about students. The data should be similar to part 1 but be general enough for all students from \( \mathrm{K}-12 \). - Create an abstract method in the abstract class that creates a progress report about the student. - Create an interface named TestTaker that declares the following methods: - \( \quad \) - This method will have no parameters and no return value. - \( \quad \) - This method will have no parameters and will return a String. - Create 3 classes that extend the abstract class. One for high-school students, one for middle-school students, and one for elementary students. - The 3 subclasses will implement the TestTaker interface. - You may be creative with the implementation of the two TestTaker methods. - Make sure the implementations of the methods are unique to each subclass. - Add one or more instance variables to the subclasses that are specific to that type of student. Add get and set methods for these new fields. - Implement the abstract method in the superclass in each subclass. This method can return a string or output data to the terminal.
- Test code is required for all students! - You will need to create a class that tests the methods that display student information and any methods that do calculations. - Include the output from your unit tests in your project submission. Example: If I expect the toString( ) method of my Kindergarten student class to produce something like: "Siti Khayriyyah has a student id of 5 and is bringing snails for show and tell", then my unit test should: 1. Instantiate a Kindergarten student; 2. Set any relevant values on that student (e.g. name, id, show and tell item); 3. Create a variable to hold the expected result, and set its value; 4. Create a variable to hold the actual result; 5. Call the method to be tested ( toString () ) and assign the result to the variable created in step 4; 6. Compare the expected value to the actual value and output a success or fail message accordingly; 7. Repeat for all display( ) / tostring( ) methods and for any other calculations in the student classes.
\( \begin{aligned} 1 & \text { Kia Y. 's id is } 12482 . \\ 2 & \text { Kia Y.'s homeroom teacher at Wilson Elementary School is Mr. Abiodun. } \\ 3 & \text { Kia Y. 's extracurricular activities include soccer. } \\ 4 & \\ 5 & \text { Emilia Xiong's id is 2039. } \\ 6 & \text { Emilia Xiong's homeroom teacher at Coolidge Elementary School is Ms. Jelinski. } \\ 7 & \text { Emilia Xiong's extracurricular activities include debate. } \\ 8 & \text { Finley Kapinski is a Kindergarten Student and brought snails for show-and-tell. } \\ 9 & \text { Finley Kapinski's id is 5. } \\ 10 & \text { Finley Kapinski's homeroom teacher at Everyone Is Special Kindgergarten is Miss McGreevy. } \\ 11 & \text { Finley Kapinski's extracurricular activities include sculpting. } \\ 12 & \text { Quinn Q. is a Kindergarten Student and brought a snake for show-and-tell. } \\ 13 & \text { Quinn Q.'s id is 221. } \\ 14 & \text { Quinn Q.'s homeroom teacher at Pine View is Mr. Tomczak. } \\ 15 & \text { Quinn Q.'s extracurricular activities include detention. } \\ 16 & \end{aligned} \) Part 2. Remember, this is just an example, actual prompts will vary widely based on your design: Real Code Sample Output