public class Mytest { int x=30; public static void main(String args[]){ int x=20; Mytest ta=new Mytest(); ta.Method(x); System.out.println("The x value is"+x); } void Method(int y){ int x=y*y; } }
因为Method方法里面的x是局部变量,计算的值无法返回main函数。
方法内部的输出x优先访问局部变量。
1.main方法和Method方法里的变量x都是局部变量。
2.main方法里的x的值并没有被改变,他只是被当成参数借用了一下来得到Method方法里的x值。
3.当main方法里输出x时优先输出局部变量x,而不是成员变量x,这是java的就近原则。