输出结果是什么输出结果是什么public class Example{int x 12public void method(int x){x + xSystem
输出结果是什么 输出结果是什么
public class Example{ int x = 12; public void method(int x){ x += x; System.out.println(x); } public static void mian(String[] args){ Example t = new Example(); t.method(5); } }
[最优解释] 没有main方法,运行不了。
成员变量被局部变量隐藏了。 [其他解释]
调用方法时传入的那个值才是真正带入运算的。 [其他解释] mian main 12 被 5覆盖。 结果:10 [其他解释] mian main 12 被 5覆盖。 结果:10 [其他解释] x+=x这句话怎么执行的。 [其他解释] 好好工作!!!! [其他解释] public static void mian(String[] args){ Example t = new Example(); t.method(5); }
写错了吧,main [其他解释] 结果是:10 [其他解释] 结果是10,全局变量x没用上。 [其他解释] 你这int x = 12;很明显是成员变量,使用时最好前面加上this,method方法体中x指示不明,按照局部作用域优先,int x = 12应该是被int x = 5覆盖了.因此method方法体中x都指的是参数int x = 5; [其他解释] x:指的是局部变量x this.x:是成员变量x [其他解释] 如果主函数存在的话结果是10 [其他解释] 你的main()方法的main打错了,运行后是: public class Example { int x = 12; public static void main(String[] args) { Example t = new Example(); t.method(5);
}
public void method(int x) { x += x; //5+5=10 局部变量覆盖了成员变量 System.out.println(x);//输出10 }