java传值还是传引用。 JAVA中的传递都是值传递吗?有没有引用传递呢?
在回答这两个问题前,让我们首先来看一段代码:
import java.util.ArrayList;
import java.util.List;
public class Test1 {
Test2 test2 = new Test2();
public static void main(String[] args) {
new Test1().fun1();
}
public void fun1(){
int a = 5;
List<Integer> list = new ArrayList();
list.add(2);
test2.fun2(a,list);
System.out.println(a);
System.out.println(list.size());
}
}
import java.util.List;
public class Test2 {
public void fun2(int a,List<Integer> list){
a = 10;
list.remove(0);
}
}
运行结果如下:
5
0
最后我们得出如下的结论:
基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方法实体中,无法给原变量重新赋值,也无法改变它的值。
对象和引用型变量被当作参数传递给方法时,在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。至于到底它是值传递还是引用传递,这并不重要,重要的是我们要清楚当一个引用被作为参数传递给一个方法时,在这个方法体内会发生什么
分享到:
相关推荐
Java是传值还是传址引用
java中传值还是传引用的的认识? 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
java中传值与传引用,详细讲解java中的传值与传引用
结果,就像光到底是波还是粒子的问题一样,Java 方法的参数是按什么传递的问题,其答案就只能是:即是按值传递也是按引用传递,只是参照物不同,结果也就不同。 4. 正确看待传值还是传引用的问题 要正确的...
Java到底是传引用还是传值Java开发Java经验技巧共3页.pdf.zip
引用类型不像值类型传值那样直接,那么引用类型是怎么样传值的呢?答案就在此文档中。
JAVA传值与传引用[整理].pdf
java传值所用的基本方法与java传值时是传引用还是传值
前言在Java中,当对象作为参数传递时,究竟传递的是对象的值,还是对象的引用,这是一个饱受争议的话题。若传的是值,那么函数接收的只是实参本,函数对形参的操作并不
主要介绍了java中的传值与传引用实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
传值和传引用的问题一直是Java里争论的话题。与C++不同的,Java里面没有指针的概念,Java的设 计者巧妙的对指针的操作进行了管理。事实上,在懂C++的Java程序员眼中,Java到处都是精美绝伦的指 针。
java 传值还是传引用?代码一目了然,代码中可以测试研究 到底传得什么
java及C++中传值传递、引用传递和指针方式的理解.docx
很多初学者比较疑惑的地方,看看绝对有帮助的。帮你打好Java的基础知识
主要是对Java方法传值和传引用问题进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
传址和传引用是一回事。 一门编程语言的核心是数据结构,粗略来讲,可以把数据结构分成不可变类型(immutable)和可变类型(mutable)。为什么这么分呢?这涉及到内存分配问题。对于不可变类型,只要分配有限的内存...
Java中引用类型传值的代码清单.pdf 学习资料 复习资料 教学资源
传值还是传引用 详细讲解JAVA参数传递机制 一目了然
通过对典型程序的研究与分析可以看出JAVA语言的参数传递总是传值调用的,但是对于基本类型的参数和对象类型的参数来说,参数传递的情况不完全相同.Java语言不能直接使用传引用调用,但是可以通过数组的方式模拟传引用...