六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 44|回复: 0

java 中类似c++的引用参数的方法

[复制链接]

升级  42%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
21
 楼主| 发表于 2013-2-4 23:55:55 | 显示全部楼层 |阅读模式
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;
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表