A Different Approach
A better way is to let the new constructor depend on a previous constructor: public Octagon( Point p1, Point p2, Point p3, Point p4, Point p5, Point p6, Point p7, Point p8 ) { this( p1.x, p1.y, … p8.x, p8.y ); }
In this way, there is less chance of bugs