当前位置: 代码迷 >> J2SE >> 输出结果是什么解决方法
  详细解决方案

输出结果是什么解决方法

热度:5031   发布时间:2013-02-25 00:00:00.0
输出结果是什么
输出结果是什么

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呀
  相关解决方案