java
public class Ref{
int i=9;
public static void main(String argv[])
{
Ref r=new Ref();
r.method(r);
}
public void amethod(Ref r)
{
multi(r);
System.out.println;
}
publiv void multi(Ref r)
{
r.i=r.i*2;
}
}
程序的运行过程和结果,谢谢。 --------------------编程问答-------------------- 你要干什么,输出r.i?
18吧
--------------------编程问答-------------------- 参数(Ref r)把我整晕了。 --------------------编程问答-------------------- 首先代码错了很多地方
其次你要打印的东西没有写清楚
我只能靠自己的理解给你想要的答案
main()->amethod()->multi()
结果i=18 --------------------编程问答-------------------- 这代码敲的,你懂得!
1.先在栈中开辟一个空间名字为r(指向Ref对象的引用),再在堆中初始化一个Ref对象,r指向它
2.调用该对象的method方法,在此方法中调用multi方法
之后执行:System.out.println;(什么,没写全????)
最后方法结束,程序结束! --------------------编程问答-------------------- public class Ref
{
int i=9;
public static void main(String argv[])
{
Ref r=new Ref();
r.method(r);
}
public void amethod(Ref r)
{
multi(r);
System.out.println;
}
publiv void multi(Ref r)
{
r.i=r.i*2;
}
}
--------------------编程问答-------------------- 你人真好,我看懂了,你理解的事我想问的,谢谢。 --------------------编程问答-------------------- 你想问r的值会不会变是吧 --------------------编程问答-------------------- 好几个地方有错误啊。。敲代码细心点 --------------------编程问答-------------------- 好像是18 --------------------编程问答-------------------- public class Ref
{
int i=9;
public static void main(String args[])
{
Ref r=new Ref();
r.method(r);
}
public void method(Ref r)
{
multi(r);
System.out.println(""+r.i);
}
public void multi(Ref r)
{
r.i=r.i*2;
}
}
--------------------编程问答-------------------- 我想你不懂的是参数的传递的情况吧!
简单类型作为参数传递时,传的是值的拷贝,也就是不会改变原来参数的值,对象作为参数传递时,是传递的引用,你对该参数操作什么,会影响到传递的那个参数 --------------------编程问答-------------------- 不知道你哪里搞得代码,更不知道你想要知道什么东西。 --------------------编程问答-------------------- 其实我不懂的就是参数的传递情况,谢谢战友们了。
补充:Java , Java SE