1、在必要時(shí),int類型的值將會(huì)自動(dòng)轉(zhuǎn)換為double類型。
但另一方面,可以把double類型強(qiáng)制轉(zhuǎn)成int,但是可能會(huì)損失信息。
2、如果試圖將一個(gè)數(shù)值從一種類型強(qiáng)制轉(zhuǎn)換為另一種類型,而又超出了目標(biāo)類型的表示范圍,結(jié)果就會(huì)截?cái)喑梢粋€(gè)完全不同的值。
例如,(byte)300 的實(shí)際值為44。
實(shí)例
//假若父類對(duì)象占1M的內(nèi)存,因?yàn)樽宇悓?duì)象有一些其他內(nèi)容,所以多占用0.5M內(nèi)存,子類對(duì)象一共占1.5M內(nèi)存
People[] staff = new People[2];//這里我們定義了一個(gè)父類的對(duì)象,可以指向1M內(nèi)存;
staff[0] = new RichPeople("John", 18, 100,1200);//開(kāi)辟了1.5M內(nèi)存,但是實(shí)際只指向了1M內(nèi)存
staff[1] = new RichPeople("Tp",20,200,20000);
if(staff[0] instanceof RichPeople){//判斷staff[0]是否是RichPeople的實(shí)例
//先創(chuàng)建一個(gè)boss實(shí)例做暫存,把staff[0]做強(qiáng)制類型轉(zhuǎn)換
//因?yàn)閎oss的引用就是staff[0],所以對(duì)boss的操作就是對(duì)staff[0]的操作
RichPeople boss = (RichPeople)staff[0];
boss.addDeposit(10000);
//也可以這樣寫:
//((RichPeople)staff[0]).addDeposit(10000);
//((RichPeople)staff[0])可以看做是創(chuàng)建了一個(gè)RichPeople類的匿名對(duì)象(等效于上面的boss)
//這個(gè)匿名對(duì)象的引用和RichPeople類型的staff[0]是相同的
以上就是java強(qiáng)制類型轉(zhuǎn)換的使用,希望對(duì)大家有所幫助。更多關(guān)于“java培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽(tīng)。