/*
*测试全局变量的操作
*/
public class GlobalVar
{
int a = 10;
double b = 20;
public static void main(String[] args)
{
GlobalVar globalVar = new GlobalVar();
System.out.println("before changed value a = " + globalVar.a);
globalVar.print();
System.out.println("after changed the value a = " + globalVar.a);
}
public void print()
{
System.out.println("the global variable a = " + a + ",b = " + b);
a=30;
System.out.println("the global variable a = " + a + ",b = " + b);
}
}
在上面这个程序中为什么输出的是before changed value a = 10
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0
after changed the value a = 30
为什么不是before changed value a = 10
after changed the value a = 30
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0
谢了
*测试全局变量的操作
*/
public class GlobalVar
{
int a = 10;
double b = 20;
public static void main(String[] args)
{
GlobalVar globalVar = new GlobalVar();
System.out.println("before changed value a = " + globalVar.a);
globalVar.print();
System.out.println("after changed the value a = " + globalVar.a);
}
public void print()
{
System.out.println("the global variable a = " + a + ",b = " + b);
a=30;
System.out.println("the global variable a = " + a + ",b = " + b);
}
}
在上面这个程序中为什么输出的是before changed value a = 10
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0
after changed the value a = 30
为什么不是before changed value a = 10
after changed the value a = 30
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0
谢了
globalVar.print();
~~~~~~~~~~~~~~~~~~
System.out.println("after changed the value a = " + globalVar.a);
不知楼主怎么理解函数和System.out.println的
当时就是这样的
public void print()
{
System.out.println("the global variable a = " + a + ",b = " + b);
a=30;
System.out.println("the global variable a = " + a + ",b = " + b);
}
所以结果是
before changed value a = 10
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0
after changed the value a = 30
先执行
System.out.println("before changed value a = " + globalVar.a);
在调用
globalVar.print();
打印出
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0
然后执行
System.out.println("after changed the value a = " + globalVar.a);
globalVar.print();
System.out.println("after changed the value a = " + globalVar.a);
的顺序换一下,在试下,看看和你的期望的结果有什么差异,这样你就会理解了!
相信你会成功的!
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0
after changed the value a = 30
为什么不是before changed value a = 10
after changed the value a = 30
the global variable a = 10,b = 20.0
the global variable a = 30, b = =20.0________________________________________________系统在执行完第一句已经调用了print()函数,然后再执行函数体内的方法!