JAVA关于参数方法的问题
import java.io.*;public class MyMethod {
int num;
public static void main(String args[])
{
int num;
num=10;
System.out.println("original num is:"+num);
MyMethod mymth=new MyMethod();
mymth.print();
System.out.println("num after change is:"+num);
}
public void print()
{
System.out.println("num class is:"+num);
num=90;
System.out.println("num of change is:"+num);
}
}输出的结果是
original num is:10
num class is:0
num of change is:90
num after change is:10
想问下MyMethod mymth=new MyMethod();
mymth.print();的作用的和意思,怎么num after change is的值还是10呢?
----------------解决方案--------------------------------------------------------
mymth.print();就相当于这个对象实现了print方法(类似C中调用一个函数),至于值没有变是因为num变量只是拷贝副本作为参数传入print方法,而不是num本身。 况且你这程序本身就没进行参数的传递, 建议去看看成员变量和局部变量的相关知识!
----------------解决方案--------------------------------------------------------
回复 2楼 c360832630
这样啊,看来得多看下书 ----------------解决方案--------------------------------------------------------
晕,print方法里调用的num是对象mymth的成员变量,main方法里的num声明的是局部变量,你就是再红烧爆炒任何一个num也不会影响旁边的
----------------解决方案--------------------------------------------------------