android中的静态变量奇怪的行为

时间:2013-04-06 18:41:19

标签: android static

我遇到了一个问题,非常奇怪的问题。

当我更新类中的任何一个静态变量时,类中的其他静态变量也会更新,不知道为什么会这样。

请帮帮我,我甚至不知道如何处理这个问题。

此行创建问题。

private static cSet currentSet = new cSet();
private static cSet currentPracticeSet = new cSet();
    public static void setCurrentPracticeSetRange(int from, int to)
{
    Log.e(currentPracticeSet.getCards().size()+" And "+currentSet.getCards().size(), to+" and "+from);
    getCurrentPracticeSet().getCards().clear();
    getCurrentPracticeSet().getCards().addAll(getCurrentSet().getCards().subList(from, to));

    Log.e("Range",currentSet.getCards().size()+"");
}

currentSet和CurrentPracticeSet是类的私有静态成员。 谢谢,

1 个答案:

答案 0 :(得分:2)

静态意味着变量的范围受类的限制,而不是对象。如果你改变一个值,它们都会改变。

阅读here了解详情。