不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 知識(shí)大全 > 知識(shí)百科 > 百科知識(shí) > java什么是引用類型

java什么是引用類型

時(shí)間: 歐東艷656 分享

java什么是引用類型

引用類型 由類型的實(shí)際值引用(類似于指針)表示的數(shù)據(jù)類型。如果為某個(gè)變量分配一個(gè)引用類型,則該變量將引用(或“指向”)原始值。不創(chuàng)建任何副本。引用類型包括類、接口、委托和裝箱值類型。

  在Java中,數(shù)組和字符串都不是基本數(shù)據(jù)類型,而它們被當(dāng)作類來處理,它們是引用數(shù)據(jù)類型。

  例1:Java中使用String類創(chuàng)建的對(duì)象來引用字符串

  public class hello

  {

  public static void main(String[] args)

  {

  String a="abc";//1句

  String b=a;//2句

  a="jjj";//3句

  System.out.println(b);//4句

  }

  }

  1句:先進(jìn)行賦值號(hào)‘=‘右邊的,"abc"為一個(gè)字符串的常量,此時(shí)系統(tǒng)自動(dòng)為其分配內(nèi)存空間存儲(chǔ)它。而String a后,a為引用數(shù)據(jù)類型,a就指向了剛才分配的內(nèi)存空間。

  2句:b同樣為引用數(shù)據(jù)類型,將a賦給b,所以b也指向了字符串常量"abc"的內(nèi)存空間。

  3句:先進(jìn)行賦值號(hào)‘=‘右邊的,"jjj"為一個(gè)字符串常量,此時(shí)系統(tǒng)自動(dòng)為其分配內(nèi)存空間儲(chǔ)存它。a為引用數(shù)據(jù)類型,a指向了字符串常量"jjj"的內(nèi)存空間,不再指向字符串常量"abc"的內(nèi)存空間。

  4句:由于b仍指向字符串常量"abc"的內(nèi)存空間,沒有改變,所以輸出結(jié)果是"abc"。

  例2:

  public class hello

  {

  public static void main(String[] args)

  {

  int[] c={1,2,3};//1句

  int[] d=c;//2句

  c=new int[4];//3句

  for(int i=0;i

  {

  System.out.print(d[i]+" ");

  }

  System.out.println("");

  }

  }

  1句:賦值號(hào)右邊{1,2,3} (相當(dāng)于new int[3])系統(tǒng)分配了長度為3的int型數(shù)組的內(nèi)存空間。而c為引用數(shù)據(jù)類型,指向了該內(nèi)存空間。

  2句:d也是引用數(shù)據(jù)類型,c賦給d,所以d也指向了上面的長度為3的int型數(shù)組的內(nèi)存空間。

  3句:賦值號(hào)右邊new int[4],系統(tǒng)分配了長度為4的int型數(shù)組的內(nèi)存空間。c指向該內(nèi)存空間,而不再指向以前的內(nèi)存空間了。而此時(shí)d仍指向1句中的內(nèi)存空間。

  所以"4循環(huán)"將輸出 1 2 3

  例3:

  public class hello

  {

  public static void main(String[] args)

  {

  int[] e={2,3,4};//1句

  int[] f=e;//2句

  e[0]=100;//3句

  for(int i=0;i

  {

  System.out.print(f[i]+" ");

  }

  System.out.println("");

  }

  }

  1句:賦值號(hào)右邊{2,3,4} (相當(dāng)于new int[3])系統(tǒng)分配了長度為3的int型數(shù)組的內(nèi)存空間。而e為引用數(shù)據(jù)類型,指向了該內(nèi)存空間。

  2句:f也是引用數(shù)據(jù)類型,e賦給f,所以f也指向了上面的長度為3的int型數(shù)組的內(nèi)存空間。

  3句:e指向的長度為3的int型數(shù)組的內(nèi)存空間里的第一個(gè)元素的值改成100。由于f此時(shí)仍指向該內(nèi)存空間。所以"4循環(huán)"將輸出 100 3 4

245875