關(guān)于引用類型都有什么,引用類型這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、最簡答來說除了8中基本類型以外剩下的都是引用類型Java 提供兩種不同的類型:引用類型和原始類型(或內(nèi)置類型)。
2、Int是java的原始數(shù)據(jù)類型,Integer是java為int提供的封裝類。
3、Java為每個原始類型提供了封裝類。
4、 原始類型封裝類 boolean -->Boolean char --->Character byte -->Byte short -->Short int -->Integer long -->Long float -->Float double -->Double 引用類型和原始類型的行為完全不同,并且它們具有不同的語義。
5、引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲,當(dāng)引用類型和原始類型用作某個類的實例數(shù)據(jù)時所指定的缺省值。
6、對象引用實例變量的缺省值為 null,而原始類型實例變量的缺省值與它們的類型有關(guān)。
7、同時為了面向?qū)ο蟛僮鞯囊恢滦?,這些基本類型都有相應(yīng)的封裝類型:Integer、Short、Long、Byte、Float、Double、Character等。
8、 因為封裝類型是對象,所以可以進行相應(yīng)的很多對象能力函數(shù)操作,這樣就可以提供很多基本類型難以完成的工作的完成和實現(xiàn)。
9、 你可以通過以下方式來聲明該類型。
10、 int a,a為int類型的變量 char a,a為char類型的 String對象 1. 首先String不屬于8種基本數(shù)據(jù)類型,String是一個對象。
11、 因為對象的默認值是null,所以String的默認值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。
12、 2. new String()和new String(“”)都是申明一個新的空字符串,是空串不是null; 3. String str=”punkll”; String str=new String (“punkll”);的區(qū)別: 在這里,我們不談堆,也不談棧,只先簡單引入常量池這個簡單的概念。
13、 常量池(constant pool)指的是在編譯期被確定,并被保存在已編譯的.class文件中的一些數(shù)據(jù)。
14、它包括了關(guān)于類、方法、接口等中的常量,也包括字符串常量。
15、 看例1: String s0=”punkll”; String s1=”punkll”; String s2=”punk” + “l(fā)l”; system.***.println( s0==s1 ); system.***.println( s0==s2 ); 結(jié)果為: true true 首先,我們要知結(jié)果為道Java會確保一個字符串常量只有一個拷貝。
16、 因為例子中的s0和s1中的”punkll”都是字符串常量,它們在編譯期就被確定了,所以s0==s1為true;而”punk”和”ll”也都是字符串常量,當(dāng)一個字符串由多個字符串常量連接而成時,它自己肯定也是字符串常量,所以s2也同樣在編譯期就被解析為一個字符串常量,所以s2也是常量池中”punkll”的一個引用。
17、 所以我們得出s0==s1==s2; 用new String() 創(chuàng)建的字符串不是常量,不能在編譯期就確定,所以new String() 創(chuàng)建的字符串不放入常量池中,它們有自己的地址空間。
18、 看例2: String s0=”punkll”; String s1=new String(”punkll”); String s2=”punk” + new String(“l(fā)l”); system.***.println( s0==s1 ); system.***.println( s0==s2 ); system.***.println( s1==s2 ); 結(jié)果為: false false false 例2中s0還是常量池中”punkll”的應(yīng)用,s1因為無法在編譯期確定,所以是運行時創(chuàng)建的新對象”punkll”的引用,s2因為有后半部分new String(“l(fā)l”)所以也無法在編譯期確定,所以也是一個新創(chuàng)建對象”punkll”的應(yīng)用;明白了這些也就知道為何得出此結(jié)果了。
本文分享完畢,希望對大家有所幫助。
標簽:
免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場無關(guān)。財經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險自擔(dān)。 如有侵權(quán)請聯(lián)系刪除!