support@chatgptassignment.com

A method that displays the ships name and the year it was built.

Design an class that has the following members: • A field for the name of the ship (a string).• A field for the year that the ship was built (a string). • A constructor and appropriate accessor and mutators.• A method that displays the ships name and the year it was built. Design a class that extends the class. The class should have the following members: • A field for the maximum number of passengers (an int).• A constructor, a copy constructor, and appropriate accessors and mutators.• A method that overrides the method in the base class. The class’s toString method should display only the ship’s name and the maximum number of passengers. Design a class that extends the class. The class should have the following members: • A field for the cargo capacity in tonnage (an int).• A constructor, a copy constructor, and appropriate accessors and mutators.• method that overrides the method in the base class. The class’s method should display only the ship’s name and the ship’s cargo capacity. In a driver program (shipDemo.java) • Demonstrate the classes in a Ship array. Assign various and objects to the array elements. The program should then step through the array, calling each object’s method. (polymorphism)• Create an ArrayList of Ship objects and add various and objects to the array list. The program should then step through the array list, calling each object’s method. (polymorphism)• Test your copy constructors in both and in shipDemo.java public interface Displayable { void display(); } • UML• Sample Program (OOP_example_2) Deliverables: • Displayable.java (10%)• Ship.java (20 %)• CargoShip.java (15%)• CruiseShip.java (15%)• ShipDemo.java (30%)• Screenshot (10%) Note: Sparingly comment your java source code, save all the files in folder, zip it, and upload for grading.