java - list.add覆盖以前的对象

时间:2018-04-25 20:13:46

标签: java list object arraylist

我的代码应该添加3个类型的对象"位置"到列表"位置"我在

下宣布正确
public class myClass extends JFrame {

static List<Location> locations = new ArrayList<Location>();

这是应该添加到List中的部分:

locations.add(new Location(new Point(1,1), "Test1", travelLocations.Moon));
locations.add(new Location(new Point(2,2), "Test2", travelLocations.Planet));
locations.add(new Location(new Point(3,3), "Test3", travelLocations.Asteroidfield));

这是我的位置课程:

import java.awt.Point;

public class Location {
    static Point coordinate;
    static String name;
    static travelLocations type;

    public Location(Point curLoc, String name, travelLocations locType) {
        coordinate = curLoc;
        locName = name;
        type = locType;
    }
}

它的作用:它添加名为&#34; Test3&#34;三次,每次我添加一个位置,它会添加一个,并覆盖此列表中的每个已经完成。 我知道,它看起来与Stackoverflow上的其他问题类似,但我对它们进行了比较,并尝试了那些有类似问题并且没有解决方案适用于我的问题。我确信这只是一件小事而且有一个简单的解决方案,但我无法看到它。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

那是因为你声明你的字段是静态的,这意味着你的类中只有一个副本