java 的调用函数是采用传值的方式,例如:
void changeName(String name)
{
name = "ok";
}
String name1 = "test";
changeName(name1);
System.out.println(name1);
输出结果为 test,如果我们想改变参数name1的值呢?
因为java是纯对象编程,虽然不能改变其值(对象),但是可以改变对象的属性,
由此总结出,可以采用下列方式改变输入参数的值
1. 声明对象,并且声明属性(成员变量),改变属性值的方式
void changeName1(Student st)
{
st.name = "ok";
}
2. 数组
void changeName2(String[] names)
{
names[0] = "ok";
}
但是这个局限是必须与分配数组的大小
3. 泛型 比如List
public void TestList(ArrayList ha)
{
ha.add(111);
ha.add("yyy");
ha.add(123.456);
}
这种就不用与分配了。
回头想了想,java不能返回多个参数,可以如下方式做到:
public ArrayList TestRetList()
{
ArrayList ha = new ArrayList();
ha.add(555);
ha.add("88888llll");
ha.add(3333.456);
return ha;
}
void changeName(String name)
{
name = "ok";
}
String name1 = "test";
changeName(name1);
System.out.println(name1);
输出结果为 test,如果我们想改变参数name1的值呢?
因为java是纯对象编程,虽然不能改变其值(对象),但是可以改变对象的属性,
由此总结出,可以采用下列方式改变输入参数的值
1. 声明对象,并且声明属性(成员变量),改变属性值的方式
void changeName1(Student st)
{
st.name = "ok";
}
2. 数组
void changeName2(String[] names)
{
names[0] = "ok";
}
但是这个局限是必须与分配数组的大小
3. 泛型 比如List
public void TestList(ArrayList ha)
{
ha.add(111);
ha.add("yyy");
ha.add(123.456);
}
这种就不用与分配了。
回头想了想,java不能返回多个参数,可以如下方式做到:
public ArrayList TestRetList()
{
ArrayList ha = new ArrayList();
ha.add(555);
ha.add("88888llll");
ha.add(3333.456);
return ha;
}