***PLEASE FOLLOW THE FOLLOWING DIRECTIONS PRECISELY.Create y
***PLEASE FOLLOW THE FOLLOWING DIRECTIONS PRECISELY.Create your own Java class that represents your favoritemusical instrument. Your musical instrument classshould have at least 3 constants, 5private data fields, getters and settersfor each private data field, a toString()method, and three additional methods of yourchoice. Create a testclass that constructs at least 5 of your musical instrument objects. Foreach of the objects constructed demonstrate the use of each of the methods. Besure to use your IDE to accomplish this assignment. You can pick anyinstrument you want. When designing your class, think about what would makesense to describe and use the instrument. For example, if you selected atrumpet, you might need to provide the number of valves, the manufacturer, ifthe instrument is using a mute, the volume or even notes the trumpet isplaying. Make this your own creation and have fun with it.***ProgramminginstructionsDesign (5 points) – Exhibits proper use of parameters, and selection of data types all ofthe time. Employs correct and appropriate use of programming structures (loops,conditionals, classes etc.) all of the time. Efficient algorithms used all ofthe time.Functionality (10 points) – Extra effort was apparent through the addition of significant andadditional functionality beyond the scope of the assignment.Test cases (5 points) – Test cases provide comprehensive coverage of all code paths. Discussion ofrun-time errors included.Java Style Guide (5 points) – Code impeccably neat and well-organized. Extensive In-linecomments providing additional insight into code design and functionality***Submission requirements: Your deliverables shouldinclude a single word document. Your word document should includescreen captures showing the successful compiling and running of eachapplication, and a detailed description of the test plan for each application.The screen captures should document your successful use of the IDE. The testplan should include the input, expected output, actual output and if the testcase passed or failed.