0
我的Java类有一些问题。当我调用函数(例如int getCapacity(Edge e))时,它会更改我的对象(chagne Edge e),我不想那样做。不应该只有void函数改变对象吗?任何帮助?从not void函数修改对象
public class Edge{
private int start;
private int end;
private int capacity;
private int flow;
public Edge(int p, int k, int cap) {
this.start = p;
this.end = k;
this.capacity = cap;
this.flow=0;
}
public void setStart(int s){
this.start = s;
}
public static int getCapacity(Edge e){
e.setStart(-1);
return e.capacity;
}
public static void main(String[] args){
Edge e= new Edge();
int k=getCapacity(e));
e.print();
}
}
谢谢!
我只是不想改变我的对象不是void函数。我插入了一部分代码“e.setStart(-1);”只是为了测试它。 关于吸气剂,我稍后需要它。 ;)在其他类中。 – newOne 2013-03-15 14:16:26
另一个例子是一个迭代器。它会改变它的状态,每次调用并返回一个值。 – 2013-03-15 14:18:09
@newOne:好的,不要这样做 - 但它不是*不正确的代码。 – 2013-03-15 14:26:07