1、首先你要理解多态就是多种形态。java里指的是对象的多态性。
2、多态在程序中的体现:父类或者接口的引用指向了自己的子类对象。
3、多态的前提:a、类之间必须要存在关系(继承,实现);b、要有覆盖操作。
4、多态的好处:提高了程序的扩展性;可以对具体事物的共性类型进行统一操作,将复杂问题简单化。
理解好上面多态的一些特性,那么下面我就举个例子说明一下什么是多态:
class 动物{} class 狗 extends 动物{} 狗 x = new 狗(); 动物 y = new 狗();//狗这个实体对象即使狗类型,也是动物类型。这就是狗对象的多态性。
代码实现:
abstract class Animal
{
abstract void eat();
} class Dog extends Animal
{
public void eat()
{
System.out.println("骨头");
}
public void lookHome()
{
System.out.println("看家");
}
} class Demo2
{
public static void main(String[] args)
{
Animal a = new Dog();//多态向上转型:其实是可以对子类对象的功能进行限定,仅使用父类型的基本功能即可。
method(a);//当定义了很多狗,需要统一给狗吃饭,这时就可以定义一个方法,提高代码的复用性。可以对具体事物的共性类型进行统一操作,将复杂问题简单化。
}
public static void method(Animal a)
{
a.eat();
}
}
|