我想创建一个坐标类,当我实例化这个类时,它会自动构建它的6个相邻坐标,但是,当我这样做时,我总是遇到stackoverflow问题,我没有很好的方法来解决它。这是我的错误代码,您可以很容易地看到问题,构造函数本身包含自己。所以我想知道如何解决这个问题
public class Coordinate {
private final int x;
private final int y;
private final Coordinate[] periperal;
/**
* The default constructor for Coordinate class that
* sets up the coordinate to the given integers.
*
* @param x value of x coordinate
* @param y value of y coordinate
*/
public Coordinate(){
final Coordinate adjacent1 = new Coordinate(x, y + 1);
final Coordinate adjacent2 = new Coordinate(x, y - 1);
final Coordinate adjacent3 = new Coordinate(x - 1, y + 1);
final Coordinate adjacent4 = new Coordinate(x - 1, y);
final Coordinate adjacent5 = new Coordinate(x + 1, y);
final Coordinate adjacent6 = new Coordinate(x + 1, y - 1);
Coordinate[] list = {adjacent1, adjacent1, adjacent1, adjacent1, adjacent1, adjacent1};
periperal = list;
}
我知道为什么我错了,但我不知道如何解决它。有人可以帮我吗?非常感谢。