91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
苏尼特右旗| 宜黄县| 桑植县| 锦屏县| 彭山县| 凤凰县| 渝北区| 沈丘县| 札达县| 鄂伦春自治旗| 呼和浩特市| 廊坊市| 临邑县| 日喀则市| 探索| 乌兰察布市| 高台县| 徐水县| 云和县| 淮南市| 临武县| 晋宁县| 武鸣县| 巴中市| 惠东县| 宁远县| 凤台县| 寿光市| 泰安市| 高阳县| 佛教| 舞钢市| 敖汉旗| 东平县| 定结县| 滦平县| 从化市| 镇江市| 郑州市| 清水县| 团风县|