输出结果是什么
输出结果是什么
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
}
}
------其他解决方案--------------------main改对了就是10
------其他解决方案--------------------10,int x = 12是成员变量,被method方法中的int x隐藏了
------其他解决方案--------------------5+5=10
------其他解决方案--------------------结果为10呀