JAVA 参数传递
来源:互联网 发布:双拼域名.com 编辑:程序博客网 时间:2024/06/10 06:32
JAVA 参数传递
下面我们来看看几个例子,您就会更加明白。
例子1:
public class Test {
public static void changeValue(int i) {
i=2;
System.out.println("during test:
}
public static void main(String[] args) {
int
System.out.println("Before test: i = " + i);
changeValue(i);
System.out.println("After test: i = " + i);
}
}
运行结果:
Before test: i = 1
during test: i = 2
After test: i = 1
不难看出,虽然在 changeValue(inti)方法中改变了传进来的参数的值,但对这个参数源变量本身并没有影响。其内部原理是,main方法里的变量和changeValue方法的参数是两个不同的变量,以参数形式传递简单类型的变量时,实际上是将参数的值作了一个拷贝传进方法的,那么在方法里再怎么改变其值,其结果都是只改变了拷贝的值,而不是源值。
例子2:
public class Test {
public static void test(StringBuffer str) {
str.append(", World!");
}
public static void main(String[] args) {
StringBuffer string = new StringBuffer("Hello");
test(string);
System.out.println(string);
}
}
运行结果:
Hello, World!
例子3:
public class Test {
public static void test(String str) {
str = "World";
}
public static void main(String[] args) {
String string = "Hello";
test(string);
System.out.println(string);
}
}
运行结果:
Hello。
这个结果和上面结果矛盾吗?一点也不矛盾。在这个例子中,参数传递过程和上个例子完全一样,但是在test方法里并不是对原来指向的对象实例进行操作,而是把str指向了另外一个对象实例,当然对原来的对象实例毫无影响。
转载地址:http://blog.sina.com.cn/s/blog_5dd380b90100bvel.html
- Java参数传递,值传递
- Java参数传递
- Java参数传递
- java的参数传递
- java中的参数传递
- java中的参数传递
- JAVA的参数传递
- Java参数传递方式
- java参数传递
- Java-参数的传递
- java方法参数传递
- Java中的参数传递
- Java 参数传递机制
- java参数传递
- Java参数传递(推荐)
- java中的参数传递
- java参数传递
- Java的参数传递
- MAVEN常用命令
- C++处理URL的方法,项目有用到,过程记录如下
- Java TagSupport实现Web权限验证标签
- 接口能实例化
- [转]签了工作之后才发现,自己太草率了!(很长很真实!但会对你有所帮助的!)
- JAVA 参数传递
- 九度OJ 1526 朋友圈
- 作业2
- Web_CSS_通过不断设置广告位置来实现广告停留视野效果;
- Linux常用命令大全
- gdb调试技术
- 推荐每天早上起来认真的读一遍!
- Kidde PI9000 fire & CO alarm
- java向C++发送字符串数据