更新时间:2022-08-17 08:08:36 来源:极悦 浏览1522次
有些小伙伴对Java传参方式还不是很了解,那么就由极悦小编来告诉大家。
程序设计语言将实参传递给方法(或函数)的方式分为两种:Java传值和引用传值
方法接收的是实参值的拷贝,会创建副本。
方法接收的直接是实参所引用的对象在堆中的地址,不会创建副本,对形参的修改将影响到实参。
基本数据类型
public static void main(String[] args) {
int a = 129;
int b = 130;
intSwap(a, b);
System.out.println("a = " + a);
System.out.println("b = " + b);
}
public static void intSwap(int value1, int value2) {
int temp = value1;
value1 = value2;
value2 = temp;
}
// 运行结果:a = 129;b = 130;
基本数据类型的引用类型
public static void main(String[] args) {
int a = 129;
int b = 130;
intSwap(a, b);
System.out.println("a = " + a);
System.out.println("b = " + b);
}
public static void integerSwap(Integer value1, Integer value2) {
Integer temp = value1;
value1 = value2;
value2 = temp;
}
// 运行结果:a = 129;b = 130;
对象类型(与数组类型类似)
public static void main(String[] args) {
TestClass a = new TestClass("a", 129);
TestClass b = new TestClass("b", 130);
objSwap(a, b);
System.out.println(a);
System.out.println(b);
}
private static void objSwap(TestClass value1, TestClass value2) {
TestClass temp = value1;
value1 = value2;
value2 = temp;
System.out.println(value1);
System.out.println(value2);
value2.value = 0;
}
static class TestClass {
public String key;
public Integer value;
public TestClass(String key, Integer value) {
this.key = key;
this.value = value;
}
@Override
public String toString() {
return key + " = " + value;
}
}
// 运行结果:a = 0;b = 130;
以上就是关于“Java传参方式的详细介绍”的介绍,大家如果对此比较感兴趣,可以关注一下极悦的Java教程,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习