黑马程序员技术交流社区

标题: 关于方法参数的传递方式 [打印本页]

作者: 〃FelayMan。    时间: 2014-2-8 18:20
标题: 关于方法参数的传递方式
        import org.junit.Test;
        public class TestDemo {
        public void change(int number){
                number*=3;
        }
        @Test
        public void test(){
                int num=100;
                change(num);
                System.out.println(num);
        }
}

作者: 〃FelayMan。    时间: 2014-2-8 18:21
在这里如果我如何将在另外一个方法中修改num的值呢?
作者: 无道    时间: 2014-2-8 19:18
这是传值运算,,,传址运算可以改变其结果。个人理解。
作者: 郭运川    时间: 2014-2-8 21:22
class Test
{
        public static void main(String[] args)
        {
                A te=new A();
                te.test();
        }
       
}
class A
{
        public void  test()
        {
                int num=100;
                 num =change(num);
                System.out.println(num);
        }
         public int change(int number)
        {
              return number*=3;
         }
}
java中的基本数据类型保存在堆内存中,要改变test()中num存储的是常量100的地址,改变num的值就改变其引用的地址,让它指向其他常量数据例如change()返回的数值300

作者: 放课后小朋友    时间: 2014-2-12 00:25
这还不简单,直接在自定义的方法中打印即可,代码如下:

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;


public class JiShuFen13 {
        public static void change(int number){
                number*=3;
                System.out.println(number);
        }
        public static void main(String[] args){
                int num=100;
                change(num);
        }
}
希望可以帮到你

-------手打,请勿copy、更勿paste、可以照写-------




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2