在方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配空间,并要求调用者向参数传递值,即方法被调用时,参数变量必须有具体的值。

基本类型数据类型参数的传值

对于基本数据类型的参数,向该参数传递的值的级别不能高于该参数的级别。如:不可以向int型的参数传递一个float值,但是可以向double型参数传递一个float值。

Java什么情况要设计多线程 java什么情况下要参数_Java什么情况要设计多线程

引用类型参数传值

Java中的引用型数据包括数组,对象以及接口。当参数是引用类型时,“传值”传递的变量中存放的“引用”,而不是变量所引用的实体。

Java什么情况要设计多线程 java什么情况下要参数_可变参数_02

需要注意的是:对于两个相同类型的引用型变量,如果具有同样的引用,就会用同样的实体,因此,如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化(在方法体中修改参数变量指向的数据内容,则会对原变量的数值产生影响);但是,改变参数中存放的“引用”不会影响向其传值的变量中存放的“引用”(在方法体中修改参数变量的指向,此时不会对原变量的数值产生影响,因此两者分别指向不同的堆区),反之亦然。

可变参数

可变参数是指在声明方法时不给出参数列表中从某项开始直至最后一项参数的名字和个数,但是这些参数的类型必须相同。

可变参数使用 “…”表示若干个参数,这些参数的类型必须相同。

public void f(int ...x)   //第一个到最后一个都是int型

public void g(double y , int ...x)  //第一个参数是double型,第2个到最后一个是参数是int型。

public void h(int ...x , int y)   //错误的使用
								  //可变参数x代表的最后一个参数不是h方法的最后一个参数。

//使用
public int getSum(int ...x){
	int sum = 0;
	for(int i=1;i<x.length;i++){
		sum += x[i];
	}
	return sum;
}