锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鏂規(guī)硶鏈変袱縐?/span>
1錛?nbsp;鍚戜笂綾誨瀷杞崲錛?/span>upcast錛夛細(xì)姣斿璇村皢CAT綾誨瀷杞崲Animal綾誨瀷 鍗沖皢瀛愮被鍨嬭漿鎹負(fù)鐖剁被鍨?/span>
涓嶉渶瑕佸湪鍓嶉潰鍔犲皬鎷彿
2錛?nbsp;鍚戜笅綾誨瀷杞崲(downcast):姣斿灝?/span>Animal綾誨瀷杞崲涓?/span>Cat綾誨瀷 鍗沖皢鐖剁被杞崲涓哄瓙綾伙紙蹇呴』瑕佷嬌鐢ㄥ己鍒剁被鍨嬭漿鎹級
紼嬪簭錛?/span>
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; //褰撶劧浣跨敤榪欑鏂規(guī)硶鍐欎篃鏄彲浠ョ殑 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 ");
}
}