色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java貓和狗案例用向下轉型

洪振霞1年前7瀏覽0評論

Java貓和狗案例是一個經典的示例,它展示了如何使用向下轉型將一個對象轉換成子類對象。

//抽象類 Animal
public abstract class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public abstract void eat();
}
//子類 Cat
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void eat() {
System.out.println(name + "正在吃魚");
}
public void play() {
System.out.println(name + "正在玩球");
}
}
//子類 Dog
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void eat() {
System.out.println(name + "正在吃骨頭");
}
public void swim() {
System.out.println(name + "正在游泳");
}
}

我們來看一個使用向下轉型的例子:

Animal animal = new Cat("咪咪");   //創建一個Cat對象
if(animal instanceof Cat){
//向下轉型,將Animal對象轉換成Cat對象
Cat c = (Cat)animal;  
c.eat();  //調用Cat類的方法eat()
c.play(); //調用Cat類特有的方法play()
}

上述代碼中,我們首先創建了一個Cat對象,并將其賦值給Animal類型的變量animal。然后我們使用instanceof操作符判斷animal是否為Cat類型的對象。如果是,我們就可以使用向下轉型的方式將animal轉換成Cat類型的對象,并調用Cat類的方法eat()和特有的方法play(),達到了將一個父類對象轉換成子類對象的目的。