關於值傳遞和引用傳遞的區別
阿新 • • 發佈:2021-11-17
//值傳遞
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(預設值)
}