強制類型轉換
方法有兩種
1. 向上類型轉換(upcast):比如說將CAT類型轉換Animal類型 即將子類型轉換為父類型
不需要在前面加小括號
2. 向下類型轉換(downcast):比如將Animal類型轉換為Cat類型 即將父類轉換為子類(必須要使用強制類型轉換)
程序:
public class PolyTest2
{
public static void main(String[] args)
{
/*Animal animal = new Cat();
Animal animal2 = new Animal();
animal2 = animal;
animal2.sing();
*/
/* Animal animal = new Cat();
Animal animal2 = new Animal();
animal = animal2;
animal.sing();
*/
//向上類型轉換
Cat cat = new Cat();
Animal animal = cat; //當然使用這種方法寫也是可以的 Animal animal = (Animal)cat;
animal.sing();
//向下類型轉換
Animal a = new Cat();
Cat c = (Cat)a;
c.sing();
}
}
class Animal
{
public void sing()
{
System.out.println("animal is sing");
}
}
class Dog extends Animal
{
public void sing()
{
System.out.println("dog is sing");
}
}
class Cat extends Animal
{
public void sing()
{
System.out.println("cat is sing ");
}
}