多态(二)

多态中如何使用子类特有方法

class Cat extends Animal
{
	public void eat()
	{
		System.out.println("吃鱼");
	}
	public void catchMouse()
	{
		System.out.println("抓老鼠");
	}
}


class Dog extends Animal
{
	public void eat()
	{
		System.out.println("吃骨头");
	}
	public void kanJia()
	{
		System.out.println("看家");
	}
}


class Pig extends Animal
{
	public void eat()
	{
		System.out.println("饲料");
	}
	public void gongDi()
	{
		System.out.println("拱地");
	}
}

  

//如果想要调用猫的特有方法时,如何操作?
//强制将父类的引用。转成子类类型。向下转型。

//Animal a = new Cat();//类型提升。 向上转型。
//a.eat();


Cat c = (Cat)a;
c.catchMouse();

原文地址:https://www.cnblogs.com/lzxl/p/4340737.html