欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 值類型和引用類型的區別

傅智翔1年前11瀏覽0評論

在Java中,變量可以分為值類型和引用類型兩種。

值類型變量保存值本身,而引用類型變量保存的是一個指向內存中對象的地址。

// 定義兩個值類型變量
int a = 10;
double b = 3.14;
// 定義一個引用類型變量
String str = "Hello World!";

在Java中,值類型變量在聲明的同時就會被初始化,因為它們保存的是值本身,所以不存在空指針的問題。

而引用類型變量需要通過new關鍵字來創建對象,并且如果沒有賦值,它們的默認值是null,意味著它們指向的是一個不存在的對象。

// 定義一個空的引用類型變量
Object obj = null;
// 創建一個對象,并將引用類型變量指向它
obj = new Object();

此外,對于值類型變量,它們之間的賦值是直接將值賦給另一個變量,而對于引用類型變量,它們之間的賦值是將一個變量指向的對象的地址賦給另一個變量。

// 定義兩個值類型變量
int a = 10;
int b = a;  // 直接將a的值賦給b
// 定義兩個引用類型變量
String str1 = "Hello";
String str2 = str1;  // 將str1指向的對象地址賦給str2

需要注意的是,對于引用類型變量,它們指向的對象可以被多個變量共享,因此對于一個引用類型變量所指向的對象的修改,會影響到所有共享該對象的變量。

// 定義一個List對象,兩個引用類型變量共享它
List<String> list = new ArrayList<>();
List<String> list2 = list;
// 向list中添加元素
list.add("Hello");
System.out.println(list2.get(0));  // 輸出"Hello"

以上就是Java中值類型和引用類型的區別,了解這些對于理解Java程序的運行機制很有幫助。