黑马程序员技术交流社区
标题:
关于两个变量
[打印本页]
作者:
唐兴旺
时间:
2012-2-29 23:48
标题:
关于两个变量
public class Hello {
int i=20;
public void pt()
{
System.out.println(i);
}
public static void main(String[] args)
{
int i=10;
System.out.println(i);
Hello P=new Hello();
P.pt();
}
}
输出10,20
主函数的“i”和class里面的“i”都是成员变量,他们不是同一个变量吗?
作者:
李晓俊老师
时间:
2012-2-29 23:52
首先主函数里面的i是局部变量,不是成员变量,,定义在方法内部以及方法括号里面的都是局部变量
这样说你懂了吧
作者:
H07000223
时间:
2012-3-1 00:24
首先两者的位置不同:一个定义在类中,一个定义在方法中。
可以肯定地说,他们不是同一个变量,只是名字一样而已。正因为名字导致了输出结果。
第二个输出结果就不用说了。至于第一个,你可以当做就近原则来理解。
作者:
倪鹏博
时间:
2012-3-1 16:16
对于我们定义的任何变量,每一个都有其适用的范围!
main方法中的变量 i 只适用于main方法中,出了main方法的范围就不是原来的变量 i 了;
同样类Hello中的变量 i 也只适用类Hello中。
就好比上海有个叫王二的,北京也有个叫王二的!虽然他两名字一样,但是却不是同一个人一个意思!
作者:
张亮
时间:
2012-3-1 16:46
说说我的理解。类中的 i 是成员变量,main方法中的 i 是局部变量,作用范围不同。只是名字相同而已。
作者:
泮和顺
时间:
2012-3-1 18:03
main()方法只是测试用的而已 写在类内和类外根本就是一样的 其里面定义的不会是类的成员变量。
作者:
吕婷
时间:
2012-3-1 20:43
今天刚看完这节内容,我最直观理解就是,可以把HELLO中打印的那个i 理解为this.i,P调用了就代表是P.i,因为p.i=20,所以打印出来的是20.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2