一.单态变量与多态变量
单态变量:一个变量的静态类型与动态类型都是同一类型,那么这个变量称之为单态变量。
多态变量:一个变量的静态类型与动态类型不是同一类型,那么这个变量称之为动态变量。
静态类型与动态类型
静态类型:一个变量的声明类型,称之为这个变量的静态类型。(变量的静态类型与静态变量是完全不同的两个概念。)
动态类型:一个变量存储的值的类型,称之为这个变量的动态类型。
例子:
假设B类是A类的子类,
A a = new A();//(1)
a = new B();//(2)
说明理解:
(1)中的变量a是单态变量,它的静态类型是A(声明类型),动态类型也是A(存储的值的类型)。
(2)中的变量a是多态变量,它的静态类型是A(声明类型),动态类型是B(存储的值的类型)。