初识多态

多态(polymorphism)

多态指的是同一个方法调用,由于对象不同可能会有不同的行为。多态的应用可以使程序更加灵活便捷。

多态的要点:

1、 多态是方法的多态,不是属性的多态(多态与属性无关)

2、 多态的存在要有三个必要条件:继承、方法重写、父类引用指向子类对象。

3、 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。

 1 package com.sanyuan.polymophism;
 2 
 3 public class Animal {
 4     public void shout(){
 5         System.out.println("叫一声!");
 6     }
 7 
 8 }
 9 
10 class Dog extends Animal {
11     @Override
12     public void shout() {
13         // TODO Auto-generated method stub
14         System.out.println("汪汪汪!");
15     }
16     
17 }
18 
19 class Cat extends Animal{
20     @Override
21     public void shout() {
22         // TODO Auto-generated method stub
23         System.out.println("喵喵喵!");
24     }
25 }
 1 package com.sanyuan.polymophism;
 2 
 3 public class AnimalTest {
 4     
 5     static void animalCry(Animal a){
 6         a.shout();    //多态
 7     }
 8     
 9     public static void main(String[] args) {
10         Dog d = new Dog();
11         animalCry(d);
12         animalCry(new Cat());
13         //Animal a = new Cat();   //父类引用指向子类对象;向上类型转换,自动的
14     }
15 
16 }

 

初识多态

上一篇:AMBA初探


下一篇:Redis