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