别名不起作用

时间:2015-02-06 14:58:09

标签: java

我使用方法addVertex创建了这个类:

public class Polygon {
    private PointNode _startPoint;

    public Polygon() {
        _startPoint = null;
    }

    public boolean addVertex(Point p, int pos) {
        PointNode next = _startPoint;
        int i = 0;
        while(i != pos){
            if(next == null)
                return false;
            next = next.getNext();
            i++;
        }
        next = new PointNode(p);
        return true;
    }
}

但问题是next不会与_startPoint混淆,因此我只能在pos == 0时使用该方法,但如果pos >= 1则始终返回即使在我创建的列表的位置0中设置了值之后也是假的。

有人可以告诉我问题在哪里吗?

1 个答案:

答案 0 :(得分:2)

在Java中,除了通过=将另一个对象分配给该确切变量之外,您无法更改变量指向的对象。因此,将另一个对象放到_startPoint的唯一方法是实际执行:

_startPoint = someOtherObject;

因此,在Java中,您不能为变量赋予多个名称,例如PHP的&构造。