在Java中,构造函数的参数传递方式主要有两种:值传递(Pass-by-Value)和引用传递(Pass-by-Reference)。但是,需要注意的是,这两种传递方式实际上是针对对象引用的传递,而不是基本数据类型的传递。
public class Main {
public static void main(String[] args) {
int a = 10;
System.out.println("Before: " + a); // 输出:Before: 10
modifyValue(a);
System.out.println("After: " + a); // 输出:After: 10
}
public static void modifyValue(int x) {
x = 20;
}
}
public class Main {
public static void main(String[] args) {
MyClass obj1 = new MyClass();
System.out.println("Before: " + obj1.name); // 输出:Before: Object1
modifyReference(obj1);
System.out.println("After: " + obj1.name); // 输出:After: Object1
}
public static void modifyReference(MyClass obj) {
obj = new MyClass();
obj.name = "Object2";
}
}
class MyClass {
String name;
}
总结:在Java中,构造函数的参数传递方式主要针对对象引用,采用值传递和引用传递相结合的方式。基本数据类型的参数传递采用的是值传递。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: java中finalize的作用是什么