中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
额尔古纳市| 武川县| 额敏县| 定西市| 应用必备| 通辽市| 黑水县| 汶川县| 简阳市| 芜湖市| 徐水县| 莆田市| 浙江省| 肇庆市| 航空| 胶州市| 重庆市| 三门峡市| 开远市| 原平市| 建阳市| 鹤峰县| 郴州市| 永平县| 毕节市| 尖扎县| 合江县| 新化县| 辽宁省| 抚宁县| 祥云县| 商城县| 临朐县| 芮城县| 靖远县| 汕头市| 鹿泉市| 苍山县| 疏勒县| 连江县| 会泽县|