public class StaticTest { public static int i=4; public void change(){ int i=5; }public static void main(String[] args) { new StaticTest().change(); System.out.println(i); }}为啥输出的是4?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 10:28:56
publicclassStaticTest{publicstaticinti=4;publicvoidchange(){inti=5;}publicstaticvoidmain(String[]arg
public class StaticTest { public static int i=4; public void change(){ int i=5; }public static void main(String[] args) { new StaticTest().change(); System.out.println(i); }}为啥输出的是4?
public class StaticTest { public static int i=4; public void change(){ int i=5; }
public static void main(String[] args) {
new StaticTest().change();
System.out.println(i);
}
}
为啥输出的是4?
public class StaticTest { public static int i=4; public void change(){ int i=5; }public static void main(String[] args) { new StaticTest().change(); System.out.println(i); }}为啥输出的是4?
在你这个程序中,change()方法里,你重新定义了一个局部变量i,并赋值5.而不是给StaticTest里的元素i赋值.如果你想改变StaticTest里的元素i,你的change方法不能声明变量i,而应该这样写
public void change(){i=5;}