黑马程序员技术交流社区

标题: [请教]关于定义方法的?? [打印本页]

作者: Friends★    时间: 2012-4-19 08:34
标题: [请教]关于定义方法的??
请问一下,定义方法时,括号中除了可以放入一个或多个参数外,还可以放入什么东西,比如说常量,一个类的类型什么的,这些可以啊。


今天看到一个同学写的代码??所以不明白了。



求详解??(每一种情况)



作者: 韩新凯    时间: 2012-4-19 08:40
传递的是对象
作者: 黄或俊    时间: 2012-4-19 08:51
你是对方法的定义不明白还是对:
add(o);   //不明白?
public static void  add(final Other o)
        {
                        for(int x=0;x<5;x++)
                        { System.out.println(o.i++);
        }

方法定义格式:
修饰符 返回值类型 函数名(参数类型 参数1……){}
其实这里就是定义一个add方法,传递的参数类型是类类型,参数类型有很多种:基本数据类型、引用数据类型

作者: 张超超    时间: 2012-4-19 09:18
  Other o=new Other();
                add(o);
        }

        public static void  add(final Other o)
        {
                        for(int x=0;x<5;x++)
                        { System.out.println(o.i++);
        }
这里传递的是other对象的引用,关于对象的引用的传递,这里有说明:


Java中实际上只有值传递一种,引用其实就是一个4字节的整形值用来存放存在堆上对象的地址.
因此引用传递实际上是传递这个4个字节的整形值,所以也属于值传递.但是这个引用值和基本类型的值不一样,基本类型的值改变其内容就会改变值本身的内容.而引用值,我们需要通过该引用值找到存储在堆上的对象,然后改变该对象,才会使对象本身发生改变.如果只是改变引用值,那么该对象是不会发生改变,只不过指向另一个对象.

希望对你有帮助。




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