天天看點

java基礎之對象的向上轉型和向下轉型

對象的向上轉型

格式:對象的向上轉型就是多态寫法:

父類名稱 對象名=new 子類名稱();

——>父類引用指向子類對象

含義:右側建立一個子類對象,把它當做父類來使用

注意:向上轉型一定是安全的,從小範圍轉向了大範圍

弊端:一旦向上轉型為父類,就無法使用子類特有方法;如果想使用,則需要用對象的向下轉型(還原)

對象的向下轉型

格式:

子類名稱 對象名=(子類名稱) 父類對象

含義:将父類對象還原為本來的子類對象

Animal animal=new Cat();//本來是貓,向上轉型為動物

Cat cat=(Cat)animal;//本來是貓,已經被當做是動物,還原回來成為本來的貓

注意:

  1. 必須保證對象原來建立的時候就是貓,才能向下轉型成為貓
  2. 如果對象建立的時候不是貓,現在非要向下轉型成為貓,就會報類轉換異常:

    ClassCastException