Java多态的理解

多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:

多态性是对象多种表现形式的体现。(偶然间发现这张图描述很形象)

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多态的体现形式

posted @ 2017-07-21 15:34  求学者s  阅读(492)  评论(0编辑  收藏  举报