java基础之十二:多态

本文介绍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()。多态的概念了解一下就可以,在自动化测试和开发中,你也很少遇到。

原文地址:https://www.cnblogs.com/jshtest/p/9150532.html