1.多态的体现:父类引用指向子类对象
2.多态的前提:类和类之间有关系:继承或者实现;方法存在覆盖
3.多态的好处:提高程序的扩展性
4.多态的弊端:只能使用父类的引用访问父类的成员
public class Demo{
public static void main(String[] args){
//多态的体现:父类引用指向子类对象
Animal d=new Dog();
Animal c=new Cat();
function(d);
function(c);
}
public static void function(Animal a)
{
a.eat();
//强制类型转换
if(a instanceof Dog)
((Dog)a).fun();
//强制类型转换
else
((Cat)a).fun();
}
}
//定义抽象类
abstract class Animal
{
abstract void eat();
}
class Dog extends Animal
{
//实现父类抽象方法
public void eat()
{
System.out.println("狗吃骨头");
}
//定义狗功能的方法
public void fun()
{
System.out.println("狗看家");
}
}
class Cat extends Animal
{
public void eat()
{
System.out.println("猫吃鱼");
}
//定义狗功能的方法
public void fun()
{
System.out.println("猫抓老鼠");
}
}
|
|