形式参数是基本数据类型的情况
1.当形式参数是基本数据类型的时候,将来调用方法的时候传入的是常量值,或者是该类型的变量
2.当形式参数是基本数据类型的时候,在方法中对变量做修改,不会影响到外部实际的栈内存中的值
class Demo2 {
public int getSum(int a, int b) {
a = 100;
b = 200;
return a + b;
}
}
public class XingShiCanShuDemo {
public static void main(String[] args) {
Demo2 d = new Demo2();
int a = 10;
int b = 20;
System.out.println(d.getSum(a, b)); //300
System.out.println("a:" + a + ",b:" + b); //a:10,b:20
}
}
形式参数是引用数据类型的情况
1.当形式参数是引用数据类型的时候,将来调用方法的时候传入的是该类对象的地址值
2.当形式参数是引用数据类型的时候,在方法中对变量做修改,会影响到外部实际的堆内存中的值
class Student2 {
String name;
public void speak() {
System.out.println("我热爱学习");
}
}
class StudentTest2 {
/**
* 如果将来你看到一个方法的形式参数是一个类的类型,说明它是一个引用数据类型
* 这里其实需要的是该类的对象
* 调用的时候,把main方法中创建好的对象名传过来,实际上传的就是对象的地址值
*/
public void function(Student2 s) { //Student2 s = new Student2();
s.name = "小王";
s.speak();
}
}
public class XingShiCanShuDemo {
public static void main(String[] args) {
//要想调用function(),就必须创建StudentTest2对象
StudentTest2 st2 = new StudentTest2();
Student2 student2 = new Student2();
System.out.println(student2.name); //null
st2.function(student2); //传的地址值
System.out.println(student2.name); //小王
}
}