Define a class Point with a constructor public Point(double x, double y) and accessor methods getX,getY. Design and implement a toString method for this class.
Define an abstract class shape with an instance variable of class Point, a constructor, a concrete method public void moeveBy(double dx, double dy) that moves the point by the given amount, and an abstract method public Point getCenter().Provide concrete subclasses Circle,Rectangle.Line,Square with constructors public Circle(Point center, double radius),public Rectangle(Point topLeft,double width, double height), public square(point topLeft, double side) and public Line(Point from, Point to). For each subclass, implement getCenter and toString(), which will print all details fo the shape plus the coordinates of its center point.
Supply a tester class called TestShapes that implements aPoint, and an array of Shape and insert into the array, one of each kind of shape subclass. Use a loop to call the toString method of each shape in the array. Now use a llop to ask the user for the coordinates fo a point and move each shape in the array by a different amount, next use a loop to print out the polymorphic array.