Java举例说明参数传递的 基本类型参数的传值和引用参数类型的传值。
时间: 2024-12-02 14:21:25 浏览: 19
在Java中,基本数据类型的参数传递是值传递(Pass by Value)。当你将基本类型如int、float等作为参数传递给函数时,实际上是复制了一个副本。例如:
```java
void change(int x) {
x = 5; // 这里改变x不会影响到原来的变量
}
public void main() {
int num = 10;
change(num);
System.out.println(num); // 输出仍然是10
}
```
这里,`change`函数内的`x`是一个新的整数实例,对它所做的修改并不会影响原始的`num`。
而对于引用类型(如对象)的参数传递,Java采用的是引用传递(Pass by Reference),也就是说你传递的是对象的内存地址。比如:
```java
void changeReference(Shape shape) {
shape.setColor("red"); // 改变shape的颜色会影响到原始的对象
}
class Shape {
String color;
// ...其他方法
}
public void main() {
Shape circle = new Circle();
circle.setColor("blue");
changeReference(circle);
System.out.println(circle.color); // 输出"red"
}
```
在这个例子中,`circle`对象的引用被传递给了`changeReference`,所以函数内部对`shape`对象的操作会反映在原始的对象上。
阅读全文