java参数传递是值传递还是引用传递()
当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是值传递还是引用传递?
答:java的参数传递只有值传递。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象引用的一个副本,指向同一个对象,对象的属性可以在方法中改变,但对象的引用(不是引用副本)是永远不变的。
java的参数传递,无论是基本数据类型还是引用类型的参数,都是值传递,没有引用传递。
public static void main(String[] args) {
People people = new People();
people.setId(111);
System.out.println(people);
test(people);
System.out.println(people);
}private static void test(People people){
people = new People();
people.setId(222);
System.out.println(people);
}@Data
class People{
private Integer id;
}
运行结果:
文章图片
重要参考: https://www.cnblogs.com/9513-/p/8484071.html 【java参数传递是值传递还是引用传递()】
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Android事件传递源码分析
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用