21.多态

多态:可以理解为事物存在的多种体现形态。

人:男人,女人

动物:猫,狗

猫 x=new 猫 ();

动物 x=new 猫();

1.多态的体现
  父类的引用指向子类的对象
  父类的引用也可以接收
2.多态的前提
  必须是类与类之间有关系,要么有继承关系,要么有实现关系
  通常还有个前提:存在覆盖。
3.多态的好处
  多态的出现大大提高了程序的扩展性
4.多态的弊端:
  提高了扩展性,但是只能使用父类的引用访问父类中的成员,不能预先使用子类。
5.多态的应用

public class DuoTai_01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Animal c=new Cat();
		function(c);
	}
	public static void function(Animal a){
		a.eat();
	}

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

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

  

posted @ 2018-01-03 01:08  一日看尽长安花cxjj  阅读(119)  评论(0编辑  收藏  举报