多态的三个条件 1。要有继承 2。要有重写 3。基类引用指向子类对象
多态性还是从一个实例上来讲比较清楚一点吧!
1:它是通过覆盖父类的方法来实现的,在运行时根据传递的对象引用来调用相应的方法.
如下例:
class Animal
{
void eat()
{
}
void sleep()
{
}
}
class Fish extends Animal
{
}
class Test
{
public static void main(String[] arg)
{
Fish fn;
Animal an;
an=fn;
an.eat();//那么此处的eat()方法是fish子类中的eat()方法,而不是Animal类中的方法,如果子类fish中没有eat()
//方法,那么就用Animal的方法.
}
}
这个应该就是多态性吧,
不知理解的对不对?