假设我们想制作一个收集宝石的游戏。因此,我们需要一个Gem类、一个GemSpawner类和当然是MainActivity类。
public class MainActivity {
public static void main(String[] args) {
List<Gem> gems = new ArrayList<Gem>();
GemSpawner gs = new GemSpawner(gems);
//...
}
}
在这种情况下,我们使用宝石列表创建了一个List,并通过构造函数将其传递给GemSpawner,因此gs可以使用以下方法向列表中添加宝石:
gems.add(new Gem(10, 50, "red")); //should represent Xpos, Ypos, and color.
但是这样做会更好:
public class MainActivity {
public static List<Gem> gems = new ArrayList<Gem>();
public static void main(String[] args) {
GemSpawner gs = new GemSpawner();
//...
}
}
现在,GemSpawner (gs) 可以使用以下方式添加宝石:
MainActivity.gems.add(new Gem(10, 50, "red"));
一位朋友向我展示并解释了上述方法,但下面的方法不是更加有效吗?
gems
数组中的这些宝石在哪里使用?通常情况下,你不应该将经常使用的东西存储在静态上下文中,即使你可以这样做。你也可以将所有代码都写在static void main
方法中,但同样你永远不会这样做。 - Birb