多态:某一事物的多种存在形态
好处:提高了代码的扩展性,前期定义的代码可以使用后期的内容
弊端:前期定义的内容不能使用后期子类的特有内容
用abstract定义父类的方法
Animal a=new Cat();向上转型
Cat c=(Cat)a;向下转型
a.instaceof
abstract class Animal
{
abstract void eat();
}
class Cat extends Animal
{
void eat()
{
System.out.println("Cat eat");
}
public static void method(Animal a)
{
a.eat();
if(a instanceof Cat)
{
Cat c=(Cat)a;
//然后就可以使用其特有方法了
}
}
}
好处:提高了代码的扩展性,前期定义的代码可以使用后期的内容
弊端:前期定义的内容不能使用后期子类的特有内容
用abstract定义父类的方法
Animal a=new Cat();向上转型
Cat c=(Cat)a;向下转型
a.instaceof
abstract class Animal
{
abstract void eat();
}
class Cat extends Animal
{
void eat()
{
System.out.println("Cat eat");
}
public static void method(Animal a)
{
a.eat();
if(a instanceof Cat)
{
Cat c=(Cat)a;
//然后就可以使用其特有方法了
}
}
}