This Java assignment focuses on the implementation of a Gadget class and its subclasses, Mobile and MP3. The solution includes the creation of these classes with appropriate attributes and methods, such as `addCallingCredits`, `phoneCall`, `downloadMusic`, and `deleteMusic`. The code demonstrates inheritance and object-oriented principles. Test cases are provided to validate the functionality of each class, including scenarios for adding calling credits, making phone calls, downloading and deleting music. A class diagram visually represents the class structure and relationships. The `TestClass` demonstrates how to create and interact with objects of each class, showcasing the expected behavior through various test scenarios. This assignment provides a comprehensive understanding of Java programming, class design, and testing methodologies.