基本数据类型
package stu.day07;
public class wo {
// 基本数据类型传参值传递
public static void main(String[] args) {
// String str = "123";
// int i = Integer.parseInt(str);
// System.out.println("i:"+i);
int n = 10;
// 实参
f(n);
System.out.println(n);
}
public static void f(int n){
n = 100;
System.out.println(n);
// 形参
}
}
对象引用类型
package stu.day07;
public class main {
public static void main(String[] args) {
Person p = new Person("张三");
f(p);
System.out.println("实参:" + p);
}
public static void f(Person p){
p = new Person("李四");
System.out.println("形参:" + p);
}
}
package stu.day07;
import java.math.BigDecimal;
public class Person {
private String name;
private BigDecimal price;
private String age;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + ''' +
", price=" + price +
", age='" + age + ''' +
'}';
}
}
总结:
基本数据类型作为参数传入方法,是值传递,方法内部针对传入值的操作,不会直接影响之前数据的值。
引用数据类型作为参数传入方法,是地址传递,方法内部针对传入值的操作,会直接影响之前数据的值。