1. 程式人生 > 其它 >關於值傳遞和引用傳遞的區別

關於值傳遞和引用傳遞的區別

//值傳遞
public class Demo4 {
public static void main(String[] args) {
int a = 1;
System.out.println(a);//1(輸出結果)

Demo4.change(a);
System.out.println(a);//1(輸出結果)
    }
//返回值為空
//寫一個改變值的方法
public static void change(int a){
a = 10;
}
}

===============================================================
//引用傳遞:物件,本質還是值傳遞
public class Demo5 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null(輸出結果)

Demo5.change(person);
System.out.println(person.name);//張三(輸出結果)
    }
//寫一個改變值的方法和上面一樣
public static void change(Person person){
   //person是一個物件:指向的---> Person person = new Person();這是一個具體的人,可以改變屬性
person.name = "張三";
}
}

//定義了一個Person類,有一個屬性:name,
class Person{
String name;//null(預設值)
}