public class StaticTest { public static int i=4; public void change(){ int i=5; }

publicstaticvoidmain(String[]args){newStaticTest().change();System.out.println(i);}}为... public static void main(String[] args) {

new StaticTest().change();
System.out.println(i);

}
}
为啥输出的是4?
展开
 我来答
supur
2012-12-06
知道答主
回答量:34
采纳率:0%
帮助的人:35.5万
展开全部
在你这个程序中,change()方法里,你重新定义了一个局部变量i,并赋值5。而不是给StaticTest里的元素i赋值。 如果你想改变StaticTest里的元素i,你的change方法不能声明变量i,而应该这样写
public void change(){i=5;}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式