This assignment is built using the code from Assignment 5. In this assignment create a separate serialized file using ObjectOutputStream for each student. File should contain students score and statistics for entire class. model ReportCard that contains Stats and Student Statistics Student util FileIO separate serialized file (contains students score and statistics)Using debug mode (with Debug flag) print the contents of the serialized file. Create and implement an interface to: Print student statistics. Print scores for a given student id. implement the Debug flag globally Use an abstract class to implement all the methods declared in an interface. Lab 6 -ReportCard should work with upto 40 students How is ReportCard created? by util readFile returns an array of students. Statistics computes statistics build report card object in an array so you can easily serialize each ReportCard Interface Reportable public void printscores(int id); public void printstats(); public boolean DEBUG = true; public abstract class RCOutline implements Reportable { public void printscores(int id) { } public void printstats() { } }public class Driver extends RCOutline { public static void main(String [] args) {} }and this In this assignment create a separate serialized file using ObjectOutputStream for each student. File should contain students score and statistics for entire class. model ReportCard that contains Stats and Student (make this class abstract) let it implement Reportable interface. Statistics Student util FileIO separate serialized file (contains students score and statistics)Using debug mode (with Debug
flag) print the contents of the serialized file. Create and implement an interface to: Print student statistics. Print scores for a given student id. implement the Debug flag globally Use an abstract class to implement all the methods declared in an interface.Lab 6 -ReportCard should work with upto 40 students How is ReportCard created? by util readFile returns an array of students. Statistics computes statistics build report card object in an array so you can easily serialize each ReportCard -Interface Reportable public void printscores(int id); public void printstats(); public boolean DEBUG = true;public abstract class RCOutline implements Reportable { public void printscores(int id) { } public void printstats() { } }public class Driver extends RCOutline { public static void main(String [] args) {} }11/20 If RCOutline is not created and ReportCard becomes abstract then ReportCard must be extended to be instantiated./adapter Reportable ReportCard Any class that extends ReportCard to instantiate ReportCard/driver /Driver.java Reportable a1 = new ChildReportCard(35a.txt); a1.printscore(1221); a1.printscore(1223); a1.printscore(1224); a1.printstats(); Assignment 5. In this assignment create a separate serialized file using ObjectOutputStream for each student. File should contain students score and statistics for entire class. Using debug mode (with Debug flag) print the contents of the serialized file. Create and implement an interface to: Print student statistics. Print scores for a given student id. implement the Debug flag globally Use an abstract class to implement all the methods declared in an interface.