【发布时间】:2014-02-21 16:44:21
【问题描述】:
每次我调用 MyClass 的 getIndex 静态方法时,都会在屏幕上打印“Index: 1”。我想增加或减少索引的值。我的代码有什么问题?
public class MyClass
{
public static int index=0;
public static void getIndex()
{
index++;
System.out.println("Index:"+index);
if(index>10)
index=0;
}
}
【问题讨论】:
-
你不应该在getter中增加
index的值,事实上在getter方法中修改一个字段是很奇怪的。 IMO 你不应该把它作为static字段,getIndex方法也不应该是静态的。 -
getIndex();getIndex();getIndex();打印 1,2,3。嗯...我很困惑。 -
制作
indexprivate并重新编译您的代码,以检测客户端代码的意外修改。 -
如何在主程序中使用getIndex()?
-
如何多次调用该方法?
标签: java static static-methods static-members