特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

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

java什么是引用類型

時間: 歐東艷656 分享

java什么是引用類型

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

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

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

  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句:先進行賦值號‘=‘右邊的,"abc"為一個字符串的常量,此時系統(tǒng)自動為其分配內(nèi)存空間存儲它。而String a后,a為引用數(shù)據(jù)類型,a就指向了剛才分配的內(nèi)存空間。

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

  3句:先進行賦值號‘=‘右邊的,"jjj"為一個字符串常量,此時系統(tǒng)自動為其分配內(nèi)存空間儲存它。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句:賦值號右邊{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句:賦值號右邊new int[4],系統(tǒng)分配了長度為4的int型數(shù)組的內(nèi)存空間。c指向該內(nèi)存空間,而不再指向以前的內(nèi)存空間了。而此時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句:賦值號右邊{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)存空間里的第一個元素的值改成100。由于f此時仍指向該內(nèi)存空間。所以"4循環(huán)"將輸出 100 3 4

245875