多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:
多态性是对象多种表现形式的体现。(偶然间发现这张图描述很形象)
1.打印机,就相当于一个接口,这个接口既可以是父类,也可以是接口(interface),以下就以父类作为例子:
public class Persion { public void work(){ System.out.println("persion"); } }
2.彩色打印机和黑白打印机就相当于是Persion类的两个子类,如下:
(1).Persion的第一个子类:Teacher.java
public class Teacher extends Persion{ @Override public void work() { System.out.println("teacher work"); } }
(2).Persion类的第二个子类:Student.java
public class Student extends Persion{ @Override public void work() { System.out.println("student work"); } }
3.效果:
public class Test { public static void main(String[] args) { Persion teacher=new Teacher(); //相当于彩色打印机 Persion student=new Student(); //相当于黑色打印机 teacher.work(); //输出:teacher work student.work(); //输出:student work } }
现在很明显,它们都是同一个Persion接口,使用不同的实例而执行不同操作,产生不同的结果,这就是Java多态的体现形式