基本数据类型:形参发生改变,实参不会改变
引用数据类型:形参发生改变,实参不会改变
被final修饰的引用数据类型:形参发生改变,实参不会发生改变
引用类型改变引用:形参发生改变,实参不会发生改变
package day01;
/**
* #Description :
* #Date: 2020/11/14 17:09
* @author : tiankun
*/
public class ArgsTest {
public static void main(String[] args) {
// 测试基本数据类型
int i = 10;
test3(i);
System.out.println(i); // 10
// 测试被final 修饰的引用类型
String str = "bbb";
test(str);
System.out.println(str); // bbb
// 测试引用类型
Student stu = new Student("吴飞龙");
test1(stu);
System.out.println(stu); // Student{name='田坤'}
// 测试引用类型 形参引用发生改变 实参是否会发生改变
Student stu1 = new Student("杨过");
test2(stu1);
System.out.println(stu1); // Student{name='杨过'}
}
// 基本数据类型 形参发生改变,实参不会改变
public static void test3( int i){
i = 20;
}
// 被final修饰引用类型,形参改变,实参不发生改变
public static void test(String str){
str = "aaa";
}
// 引用类型,形参改变实参发生改变
public static void test1(Student stu ){
stu.setName("田坤");
}
// 形参改变引用类型的引用则实参不会发生改变
public static void test2(Student stu){
stu = new Student("郭襄");
}
}
class Student{
private String name;
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
'}';
}
}