天天看點

java的引用資料類型

java的資料類型包括基本資料類型和引用資料類型,如下所示:

java的引用資料類型
java的引用資料類型

這裡,将以類為例說說我對引用資料類型的了解。

類,也即是對象,包括各種屬性,各種方法。正常的基本資料類型例如int類型,在使用的時候,直接使用int進行資料的初始化,例如int a=3;這個語句也即是我定義了一個整數類型的變量a,它的值是3。而引用資料類型,例如People p=new People(“張三”);這就是定以一個類,并進行執行個體化操作,但這裡的p就是代表張三這個類嗎?我可以說p就是一個類嗎?其實這樣的說法不正确,因為我們知道,類是引用資料類型的變量,何為引用資料類型,也就是我new執行個體化了一個對象,并将其屬性值放入相應的存儲空間,以堆為例,然後我們定義了一個People類型的句柄,并将上述執行個體化的對象的位址交給句柄,很象是指派語句,但這裡指派給p的隻是該對象的位址。例如:

public class People {
private String name;
public People(String name) {
this.name=name;
// TODO Auto-generated constructor stub
}

public static void main(String[] args) {
People p=new People("張三");
System.out.println(p);
}

}
           

輸出的結果會是[email protected],也即是對象的位址。

還有一個比較常見的例子,這裡牽扯到String類型,我們知道String是一個比較特殊的類。如:

public static void main(String[] args) {
String a=new String("張三");
String b="張三";
System.out.println(b.equals(a));
System.out.println(a==b);
}
           

輸出結果:true  false

第二個為什麼會不同,很明了,因為a和b是不同對象的句柄,也即是代表了兩個不同的對象位址,故為FALSE;