您的位置:首页 > 编程语言 > Java开发

java中的多态理解

2016-06-12 14:47 453 查看
首先举一个例子,这个世界上有很多的动物,比如猫、狗、猪,这些都是动物,类似这个,其实就是一个简单的多态的概念

接下来看一段代码:

package com.ProgrammerC.test;
class Animal{
public void voice(){
System.out.println("Animal's voice");
}
}
class Cat extends Animal{
public void voice(){
System.out.println("miao");
}
}

class Dog extends Animal{
public void voice(){
System.out.println("wang");
}
}

class Pig extends Animal{
public void voice(){
System.out.println("heng");
}
}
public class test {
public static void testVoice(Animal t){
t.voice();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal a1 = new Cat();
Animal a2 = new Dog();
Animal a3 = new Pig();
testVoice(a1);
testVoice(a2);
testVoice(a3);
Cat c2 = (Cat)a1;
c2.voice();
}

}


在上述代码中,Dog,Cat,Pig分别继承了Animal类,并重写了父类的Voice方法,在main函数中Animal类分别向下继承cat,dog,pig,并且调用testvoice方法,结果是执行子类中的方法,编译时的类型是Animal,而执行时分别执行的是不同的子类,因此实现了多态。上述是一个简单的多态的例子。

所以总结一下,多态实现一般有以下过程:

1. 继承

2.重写

3.父类引用指向子类对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 多态