對象數(shù)組(也是你上面所說的引用數(shù)組)你在聲明初始化后,JAVA給它的默認值就是為null值的,只有自己再去實例化具體的對象,它才不為null。所以你不去實例化,調(diào)用它的方法就會報那個空指針的異常!
創(chuàng)新互聯(lián)服務(wù)項目包括譙城網(wǎng)站建設(shè)、譙城網(wǎng)站制作、譙城網(wǎng)頁制作以及譙城網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,譙城網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到譙城省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
附:注意下聲明并初始化不同類型的數(shù)組時它給的默認值是什么就好了,相當于int[] a = new int[3],則表明數(shù)組a里面的元素默認都為0
你想寫引用數(shù)組,首先要明白引用是什么。
引用是變量空間存儲的是值的內(nèi)存地址而不是拷貝。
數(shù)組是個對象,所以數(shù)組就是引用類型。
你所說的引用數(shù)組我估計是引用現(xiàn)有數(shù)組,
那么,你只要將現(xiàn)有創(chuàng)建好的數(shù)組賦給新聲明的數(shù)組即可。
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
因為數(shù)組是一個對象。。
java中的參數(shù)傳遞是引用傳遞。。
傳遞到
public B(String[] sss,String s){
sss[0]="bbbbb";
sss[1]="ccccc";
s="2222";
}
這里的sss是那個數(shù)組對象的一個引用。。相當于指針。。
sss[0]="bbbbb";
sss[1]="ccccc";
這樣處理相當于是在調(diào)用這個數(shù)組的對象的方法。。
即相當于在對這個對象做處理。。
所以這個對象的值改變了。。
但是String [] a={null,"aaaaa"};a這個引用依然指向那個對象。。所以輸出結(jié)果就是改變后的結(jié)果。。
假如你將
public B(String[] sss,String s){
sss[0]="bbbbb";
sss[1]="ccccc";
s="2222";
}
改為
public B(String[] sss,String s){
String[] strs = new String[2];
strs[0]="bbbbb";
strs[1]="ccccc";
sss = strs;
s="2222";
}
這樣的話..是不會改變那個對象的值的..
只是對sss這個引用重新賦值..讓他指向了另一個對象而已..
這樣的話前面的a引用依然指向那個對象..那個對象的值也不會改變..
為什么那個String對象的值沒有改變呢..
跟上面一樣了..
只是對s引用重新賦值了..讓他指向了一個新的String對象..
而String aa="111111";aa依然指向的是值為111111的這個String對象..
因為數(shù)組是一個對象。。
java中的參數(shù)傳遞是引用傳遞。。
傳遞到
public
b(string[]
sss,string
s){
sss[0]="bbbbb";
sss[1]="ccccc";
s="2222";
}
這里的sss是那個數(shù)組對象的一個引用。。相當于指針。。
sss[0]="bbbbb";
sss[1]="ccccc";
這樣處理相當于是在調(diào)用這個數(shù)組的對象的方法。。
即相當于在對這個對象做處理。。
所以這個對象的值改變了。。
但是string
[]
a={null,"aaaaa"};a這個引用依然指向那個對象。。所以輸出結(jié)果就是改變后的結(jié)果。。
假如你將
public
b(string[]
sss,string
s){
sss[0]="bbbbb";
sss[1]="ccccc";
s="2222";
}
改為
public
b(string[]
sss,string
s){
string[]
strs
=
new
string[2];
strs[0]="bbbbb";
strs[1]="ccccc";
sss
=
strs;
s="2222";
}
這樣的話..是不會改變那個對象的值的..
只是對sss這個引用重新賦值..讓他指向了另一個對象而已..
這樣的話前面的a引用依然指向那個對象..那個對象的值也不會改變..
為什么那個string對象的值沒有改變呢..
跟上面一樣了..
只是對s引用重新賦值了..讓他指向了一個新的string對象..
而string
aa="111111";aa依然指向的是值為111111的這個string對象..
如果只是要測試把數(shù)組的內(nèi)容輸出來,那直接把
thisArray=BasicArray.a;這句注釋掉就可以了。
你一定要賦值那可以這樣:
thisArray.a = thatArray.a;// 用定義的引用去調(diào)a
不過做這個賦值操作沒有必要,不影響運行響結(jié)果。
名稱欄目:java數(shù)組引用代碼 java如何引用數(shù)組中的元素
文章起源:http://jinyejixie.com/article38/dosecsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、做網(wǎng)站、網(wǎng)站制作、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)