Your task is to create a set of Java classes to model different 2D shapes (Square, Rectangle, Triangle) and calculate their area and volume. This problem focuses on applying three key OOP concepts: **Interfaces**, **Abstract Classes**, and **Polymorphism**.
Measurable, with two methods: double getArea() and double getVolume().Shape, that **implements** the Measurable interface.Shape class, implement the getVolume() method to simply `return 0.0`. This ensures all 2D shapes have a default volume.getArea() method in the `Shape` class must be defined as an **abstract method**, forcing all child classes to provide their own unique implementation.Square, Rectangle, and Triangle.List of type Shape (or Measurable).Your `main` method must demonstrate the program works by testing the following scenarios:
List and add the three objects you created above.