class StaticTest
{
static int i=47;
}
class StaticFun
{
static void incr()
{
StaticTest.i++;
}
}
public class MainClass
{
public static void main(String[] args)
{
System.out.println(StaticTest.i);
}
}
这段语句的运行结果为什么是47,而不是48呢?换成下面这段:
class StaticTest
{
static int i=47;
}
class StaticFun
{
static int incr()
{
return StaticTest.i+1;//如果这里用i++,结果i还是47。
}
}
public class MainClass
{
public static void main(String[] args)
{
System.out.println(StaticFun.incr());
}
}i就变48了。跟上面那段原理一样啊,奇怪
{
static int i=47;
}
class StaticFun
{
static void incr()
{
StaticTest.i++;
}
}
public class MainClass
{
public static void main(String[] args)
{
System.out.println(StaticTest.i);
}
}
这段语句的运行结果为什么是47,而不是48呢?换成下面这段:
class StaticTest
{
static int i=47;
}
class StaticFun
{
static int incr()
{
return StaticTest.i+1;//如果这里用i++,结果i还是47。
}
}
public class MainClass
{
public static void main(String[] args)
{
System.out.println(StaticFun.incr());
}
}i就变48了。跟上面那段原理一样啊,奇怪
解决方案 »
- java中方法后面用throws声明异常有什么意义?
- swt label 能否 让文字靠上
- 如何将一个string添加到一个byte数组中?
- 如何获得JButton的相对位置?
- 请教高手,你们的path和class的配置是什么样的,能发来看看吗,谢谢!
- 高分急问:这个文件(.txt)是什么数据库格式?能不能转化成关系型(来者有分,不够再加)
- 用jdbc连sqlserver怎么都连不上,急死了
- 这个怎么回事?
- 求高手,java梯形数据算法
- 如何取得JTextPane中的内容?
- 关于实现像用户修改完word文档没保存就点关闭按钮,word提示“是否保存”,如何实现?
- 新手问题!(关于java.awt.Image)
StaticFun.incr()
返回的是StaticTest.i+1
class StaticTest
{
static int i=47;
}
class StaticFun
{
static void incr()
{
StaticTest.i++;
}
}
public class MainClass
{
public static void main(String[] args)
{
StaticFun.incr();
//以前没有写上这句,所以没有调用到StaticTest.i++;
System.out.println(StaticTest.i);
}
}
因为在编译时有编译到 StaticTest.i++; ,还以为运行时也有运行到,睡了一觉才领略出楼上朋友的话。^_^ 谢谢