读书人

输出结果是什么解决方法

发布时间: 2012-12-20 09:53:21 作者: rapoo

输出结果是什么
输出结果是什么

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呀

[其他解释]
很多人喜欢这样写mian().............
[其他解释]

引用:
调用方法时传入的那个值才是真正带入运算的。


+1
[其他解释]
帅哥你main方法写错啦
[其他解释]
引用:
如果主函数存在的话结果是10

呵呵,main方法写错了,是 10 哈,怎么了么
[其他解释]
应该是10吧。
[其他解释]
局部变量和成员变量同名的时候要用成员变量的话用this.来调用直接x就是调局部变量
[其他解释]
public class Example {
int x = 12;

public void method(int x) {
x += x;
System.out.println(x);
}

public static void main(String[] args) {
Example t = new Example();
t.method(5);
}
}

5+5=10
[其他解释]
正常运行结果10
[其他解释]
父类的成员变量会被子类的同名成员变量隐藏,类的成员变量会被局部变量隐藏,当这三者变量都相同,并且都能访问到时,分别是:super.x、this.x、x
[其他解释]
这题也有人出啊。。。。。
[其他解释]
引用:
x+=x这句话怎么执行的。


X += X; x=5-->x = X+5-->
x= 5+ 5,x = 10
[其他解释]
楼主。学会用快捷键啊,像这样的mian写错的方式根本就不会出现
[其他解释]
x+=x 就是x=x+x 等于10 是吧!初学者我

读书人网 >J2SE开发

热点推荐