亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Java怎么正確的向上轉型與向下轉型

小億
83
2024-03-01 17:27:18
欄目: 編程語言

在Java中,向上轉型和向下轉型是用來處理父類與子類之間的關系的。

  1. 向上轉型:將一個子類的對象轉換為父類的對象。這樣可以實現父類引用指向子類對象,實現多態。向上轉型是自動進行的,無需強制轉換。
class Animal {
   public void eat() {
      System.out.println("Animal is eating");
   }
}
class Dog extends Animal {
   public void eat() {
      System.out.println("Dog is eating");
   }
}

public class Main {
   public static void main(String[] args) {
      Animal animal = new Dog(); // 向上轉型
      animal.eat(); // 輸出 Dog is eating
   }
}
  1. 向下轉型:將一個父類的對象轉換為子類的對象。需要使用強制類型轉換操作符,并且需要進行類型檢查以避免ClassCastException異常。
class Animal {
   public void eat() {
      System.out.println("Animal is eating");
   }
}
class Dog extends Animal {
   public void eat() {
      System.out.println("Dog is eating");
   }
   public void bark() {
      System.out.println("Dog is barking");
   }
}

public class Main {
   public static void main(String[] args) {
      Animal animal = new Dog(); // 向上轉型
      if (animal instanceof Dog) {
         Dog dog = (Dog) animal; // 向下轉型
         dog.bark(); // 輸出 Dog is barking
      }
   }
}

需要注意的是,向下轉型時一定要進行類型檢查,以避免出現ClassCastException異常。

0
闵行区| 孝义市| 尼木县| 龙泉市| 天台县| 改则县| 株洲县| 三河市| 萨嘎县| 灯塔市| 阿坝县| 轮台县| 南充市| 吉林市| 合山市| 太仆寺旗| 鄂托克前旗| 石渠县| 绍兴市| 运城市| 丰宁| 神池县| 青田县| 五河县| 莱西市| 田东县| 元阳县| 军事| 芦山县| 忻州市| 新平| 大化| 沾化县| 湖州市| 古浪县| 大英县| 镶黄旗| 米易县| 诸暨市| 德保县| 孟村|