值传递
package com.example.oop;
public class demo_03 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
//调用方法
change(a);
System.out.println(a);
}
//返回值为空,只是在方法里 a=10 并没有将a=10返回到主程序中
public static void change(int a){
a=10;
}
}
引用传递
package com.example.oop;
//引用传递:对象,本质还是值传递
public class demo_04 {
public static void main(String[] args) {
//创建Person对象
Person person=new Person();
System.out.println(person.name);
//调用方法,person.name是否被改变
change(person);
System.out.println(person.name);
}
public static void change(Person person){
//person是一个对象指向 Person person=new Person(); 这是一个具体,可以改变属性
//在这里直接改变的是Person类中的值,不是在修改方法中的值,所以能够改变
//如果写 name="dwadw"; 就不会改变
person.name="dwdwadwa";
}
}
//定义一个Person类
class Person{
String name;
}