Java基础教程28-多态

来源:互联网 发布:神魔布袋戏 知乎 编辑:程序博客网 时间:2024/06/06 20:38

       本文介绍Java中三大特性之多态。实际上封装和继承都是为了多态服务的。什么是多态呢?多态指同一个实体同时具有多种形式。或者这样描述,同一个事件发生在不同对象上面,就有不同效果,这样的例子叫多态。下面,我们用多个子类调用同一个方法(子类重写了该方法),会得到不同结果。

1.Supper class,Student.java

package lesson01;public class Student {public int getAge(){return 0;}}
2. 子类1,重写了父类的方法

package lesson01;public class CollegeStudent extends Student {public int getAge(){return 10;}}
3.子类2,重写了父类的方法

package lesson01;public class Student_ABC extends Student {public int getAge(){return 15;}}
4.测试类,运行一下

package lesson01;public class MyClass {public static void main(String[] args) {Student st = new CollegeStudent();Student st_abc = new Student_ABC();System.out.println(st.getAge());System.out.println(st_abc.getAge());}}
输出结果,第一个是10,第二个是15,调用了同样的方法,得到的结果不相同,这就是多态。多态存在的三个必要条件:

1)需要继承

2)需要重写

3)父类引用指向了子类对象

这里解释下第三点,父类引用指向了子类对象。Student st = new CollegeStudent(); 这个st是父类Student的一个引用,但是它指向了子类CollegeStudent()。多态的概念了解一下就可以,在自动化测试和开发中,你也很少遇到。