参数传值
方法中最重要的部分之一就是方法的参数,参数属于局部变量,
当对象调用方法时,参数被分配内存空间,并要求调用者向参数专递值,即方法被调用时,参数变量必须有具体的值。
一、传值机制
在Java中,方法的所有参数都是“传值”的,也就是说,方法中参数变量的值是调用者指定的值的拷贝。
例如,如果向方法的int型参数x传递一个int值,那么参数x得到的值是传递的值的拷贝。
二、基本数据类型的传值
对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别 。
例如,int可以传给long,long不可以传给float。
三、引用类型参数的传值
当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。(有点类似C++中的地址)
四、可变参数
可变参数是指在声明方法时不给出参数列表中从某项直至最后一项参数的名字和个数,但这些参数的类型必须相同。
可变参数使用“…”表示若干个参数,这些参数的类型必须相同,最后一个参数必须是参数列表中的最后一个参数。
例如: public void f(int … x) 那么,方法f的参数列表中,从第1个至最后一个参数都是int型,但连续出现的int型参数的个数不确定。
称x是方法f的参数列表中的可变参数的“参数代表”。
参数代表可以通过下标运算来表示参数列表中的具体参数,即x[0],x[1]…x[m]分别表示x代表的第1个至第m个参数。
(使用方法和数组完全相同)