程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 對象-java初學者關於引用數據類型 強制轉換的問題

對象-java初學者關於引用數據類型 強制轉換的問題

編輯:編程解疑
java初學者關於引用數據類型 強制轉換的問題

class TestDemo7{
public static void main(String[] args) {
Animal a=new Dog("旺財",2);
System.out.println("名字:"+a.getName());
System.out.println("年齡:"+a.getAge());
a.eat();
Dog dog=(Dog) a;// 強轉為Dog類型
dog.zuanHuoQuan();
System.out.println("_______________________________");

    a=new Cat("咪咪",3);//**此句有疑問**
    System.out.println("名字:"+a.getName());
    System.out.println("年齡:"+a.getAge());
    a.eat();
}

}

變量a已經被轉換為 Dog類型

在創建Cat對象時 為何還是Animal類型?

最佳回答:


首先,你這句Animal a=new Dog("旺財",2);,獲取到的a是Animal類型,
然後你進行Dog dog=(Dog) a;// 強轉為Dog類型這句代碼,只是說將a內容賦值給Dog類型的對象dog,a依舊是Animal對象啊
最後a=new Cat("咪咪",3);這句代碼,是給a重新賦值,但是,a依舊是Animal對象啊,只是內容發生變化了而已

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved