The AcademicProgram ClassThe AcademicProgram class is what is called a super class. The attributes (use encapsulation)String name;int minimumNumberOfCredits;ArrayList requiredCourses;two constructorsone complete with all parameters one for each attributeone with no parametersthe default values should bename blank String (no spaces)minimumNumberOfCredits 0requiredCourses a new ArrayLista toString() method that will display information about the objectyou can use the Netbeans automatic builder formatThe get/set methodsno special requirements.The app ClassCreate and display an AcademicProgram object with 3 courses (see below).name: Special Studies in Cyber SecurityminimumNumberOfCredits: 9courses: 3 Course objectsusing the default/no parameter constructorusing these valuesname Cyber 100 hgenEd IL (the GenEd object returned with the find method in GenEdData)description Computer Systems Literacycredits_min_per_course 3credits_max_per_course 9credits_maximum 99preReq use the default constructor for CourseNamename CYBER 262 genEd GS (the GenEd object returned with the find method in GenEdData)description Cyber-Defense Studiocredits_min_per_course 3credits_max_per_course 9credits_maximum 99preReq Cyber 100 Displayingdisplay the name and minimumNumberOfCreditsdisplay each course in a single lineuse the special string sequence n to add a new line to the displayBelow a sample output (including part of the necessary code in app)